您当前的位置: 首页 > 

葫芦娃42

暂无认证

  • 1浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

攻防世界web进阶2

葫芦娃42 发布时间:2022-04-09 23:08:37 ,浏览量:1

ics-06

进去以后发现只有报表中心可以进,然后看网址发现传递了id=1,试一下id=2没变化,想到用burp_suite中的intruder模块爆破一下。

在1-5000中爆破一下id试试,发现id=2333时长度不同。得到flag。

intruder模块四种攻击类型的介绍:

可以选择攻击类型(Attack type),共有四种类型可以选择,分别是:Sniper型、Battering ram型、Pitchfork型和Cluster bomb型。这里以两个要爆破的变量为例进行说明,只有一个要爆破的变量对于这四种攻击类型来说是没有区别的。

(1)Sniper型

只需要设置一个Payload set,在两个变量的位置逐一替换Payload,每次只替换一个位置,先替换前面再替换后面,如果你的Payload set中有两个Payload,那么在爆破时会发送四次请求。

(2)Battering ram型

只需要设置一个Payload set,在两个变量的位置同时替换相同的Payload,如果你的Payload set中有两个Payload,在爆破时会发送两次请求。

(3)Pitchfork型

需要设置两个Payload set,这时候两个变量的位置和两个Payload set是一一对应的关系。

(4)Cluster bomb型

需要设置两个Payload set,这时候每个位置的Payload将在Payload set中进行排列组合。在爆破时共要发送2*2=4个请求。

upload1

这是一个很明显的文件上传漏洞。

进去查看源码发现,需要上传后缀为.jpg或者.png的图片,我们创立一个新文件改后缀为jack.jpg,上传burp_suite抓包一下。

改包,插入一句话php木马,并且注意把filename改为jack.php,这样php代码才能执行。

 上传成功后用蚁剑连接一下。得到flag。

ics-05

进去页面后发现只有设备维护中心可以打开,ctrl+u查看源码后得知存在page参数。

LFI漏洞的黑盒判断方法: 单纯的从URL判断的话,URL中path、dir、file、pag、page、archive、p、eng、语言文件等相关关键字眼的时候,可能存在文件包含漏洞

联想到可能存在利用文件包含读取网页源码的漏洞, 利用php内置filter协议读取文件的代码。

 解码后得到php代码:


代码审计得知,要修改X-Forwarded-For为127.0.0.1 。用burp抓包修改一下。

然后可以利用preg_replace函数的\e漏洞进行代码执行。

首先简单介绍一下preg_replace()函数

preg_replace($pattern, $replacement, $subject)
作用:搜索subject中匹配pattern的部分, 以replacement的内容进行替换。
$pattern:       要搜索的模式,可以是字符串或一个字符串数组。
$replacement:   用于替换的字符串或字符串数组。
$subject:       要搜索替换的目标字符串或字符串数组。

关于/e漏洞

/e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码(在适当的逆向
引用替换完之后)。
提示:要确保 replacement 构成一个合法的 PHP 代码字符串,
否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误。

即:只要在subject中有要搜索的pattern的内容,当pre_replace的参数pattern输入/e的时候 ,参数replacement的代码当作PHP代码执行。

构造payload:?pat=/abc/e&rep=system("find%20-name%20flag")&sub=abcde

 发现flag在./s3chahahaDir/flag。之后再使用cd命令,看看flag文件里内容 system("cd%20./s3chahahaDir/flag%26%26ls")。

注:%20代表空格,%26%26就是&&代表当前面命令执行成功时,继续执行后面的命令,读取s3chahahaDir文件夹内容.

 发现了flag.php。

再次构造 system("cat%20./s3chahahaDir/flag/flag.php")

 得到flag。

此题考查:

(1)用php伪协议里filter协议读取文件的代码.

(2)伪造XFF头.       

(3)preg_replace函数\e模式的漏洞

(4)php中system()函数的正确用法

关注
打赏
1658420143
查看更多评论
立即登录/注册

微信扫码登录

0.1136s