Upload_Labs靶场总结

pass-01

本关是JS前端校验

方法1

F12禁用JS可直接上传PHP一句话木马

方法2

查看页面源代码,拷贝下来改为html格式,将.php加入白名单列表中,或者删除JS校验代码,然后在上传的form中写action,action的值为文件上传的位置(点击上传后通过F12网络模块查看,http://127.0.0.1:201/Pass-1/index.html),然后在浏览器中打开这个html文件然后上传php马就好了

方法3

还有一个方法就是先将php马改为jpg后缀正常上传,然后抓包拦截,再将后缀改为php就可以了

pass-02

本关是MIME文件类型检查

方法1

Burp抓包然后更改Content-Type为image/png,image/jpeg或image/gif即可上传成功

pass-03

本关属于黑名单过滤

黑名单中的匹配类型为:.asp|.aspx|.php|.jsp

方法1

考虑php后加数字绕过,使用php5,php7后缀直接上传可以绕过黑名单检测

pass-04

本关使用了更加严格的黑名单过滤,把几乎所有的黑名单绕过方式都考虑到了,所以考虑结合文件包含

广义上,文件包含和文件上传打组合拳考虑.user.ini和.htaccess两种,但是 .user.ini的使用条件是目标文件夹中有一个php文件,所以这里先使用.htaccess

.htaccess的作用是将png后缀的文件当作脚本文件解释

所以先上传一个1.png,然后上传.htaccess,内容为:AddType application/x-httpd-php .png

上传这两个文件,就可以了

pass-05

本关可以知道上传的目标文件夹里有一个readme.php这个脚本文件,所以可以使用.user.ini的文件包含

.user.ini的内容为:

GIF89?
auth_prepend_file=shell.jpg

然后上传shell.jpg

然后访问readme.php,就会自动包含shell中的木马代码,从而实现攻击

pass-06

Php未过滤,可绕过

pass-07

空格未过滤,可绕过

pass-08

.未过滤,可绕过

pass-09

尝试双写绕过,失败

查看源代码,发现没有将违规后缀删除的函数

::$DATA绕过

pass-10

一系列检查函数的步骤是:

先去最后的.

然后去空格

所以可以使用“点+空格+点”的方式进行绕过(这个思路和SQL注入的绕过引号思路差不多)

pass-11

双写绕过

“pphphp”

pass-12

%00截断绕过

pass-13

和上关的区别是:接收上传文件名的类型从GET变为了POST,由于POST不能像GET那样自动解码%00,所以我们用0x00截断,即在Hex数据中进行00截断

pass-14-16

这三关都是上传图片马的,不同点在于使用的判断函数不同

图片马生成的方法

1,在脚本文件前面加上GIF89a文件头

2,copy 1.png/b + 1.php/a 1.jpg(将php中的代码添加到1.png里面,然后生成一个新的图片1.jpg)

3,还有一种是在网上看到的,大概方法就是在脚本文件前面加上各种类型图片的Hex标识,但是我没有操作成功,怀疑是步骤不对或者PHP版本过高

pass-17

这关综合了文件名,MIME,文件头检测和二次渲染

主要考虑二次渲染

二次渲染的解决方案是将上传成功的图片下载下来,放在010editor内与原始图片进行比较,在二者重合的位置写马,这样就不会被渲染掉了

另外图片马的利用方式一般是结合文件包含或者中间件漏洞,如果目标站点有include.php的话,那么可以这样利用:xxx.xx.xx/../include/include.php?page=../upload/1u.gif

pass-18

条件竞争

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值