一、折腾环境
- 虚拟机win10环境
- phpstudy2018
- 安装了upload-labs
二、Pass-01
1、写好我们的测试文件
2、将php后缀名改为jpg
3、选择文件后开启抓包,点提交,burp抓到包
4、将包中sh.jpg改为sh.php,发送包
5、右键图片打开图片网址,则可以看到成功
三、Pass-02
1、首先01关的方法02同样适用。
2、直接选择php文件,开启抓包,提交抓到包
3、将content-type值改为 image/jpeg,发送
4、右键图片在新标签打开图片,即可看到成功
四、Pass-03
1、需要在httpd.conf中查找application/x-httpd-php,开启php3或其他。
2、选择sh.php文件,开启抓包,点提交,抓到包
3、修改sh.php为sh.php3(其他也可以,具体请百度)
4、发送包,关闭抓包,右键图片在新标签打开,即可看到成功。
五、Pass-04
1、写一个名字为htaccess的文件,没有后缀名,上传,抓包
2、抓到包后将在名字前面加个.
3、发送,取消拦截,将sh.jpg上传,然后直接访问图片,即可发现成功
六、Pass-05
1、选择sh.php,开启抓包,点击提交,抓包
2、将包里的sh.php后面加上 . . 发送。(两个点里面有空格)
3、右键图片,在新建标签页打开,即可看到成功。
七、Pass-06
1、这一关把上一关的htaccess禁掉了
2、选择文件sh.php,开启抓包,提交,抓到包
3、将sh.php改成sh.Php,发送
4、右键图片在新标签页打开,即可看到成功
八、Pass-07
1、选择文件,开启抓包,点击提交,抓到包。
2、将sh.php后面加一个空格,发送。
3、右键图片,在新标签页打开即可看到成功。
九、Pass-08
1、选择文件,开启抓包,点击提交,抓到包。
2、将sh.php后面加一个. ,发送。
3、右键图片从新标签页打开,即可看到成功。
十、Pass-09
1、选择文件,开启抓包,提交文件,抓到包
2、将包里的sh.php后面加::$DATA,发送
3、右键图片,从新标签页打开即可看到成功,记得把url里的::$DATA删掉,否则看不到。
十一、Pass-10
1、选择文件sh.php,开启抓包,提交,抓到包,将包发送到重发器,将sh.php改为sh.phpp:.jpg
2、发送后将再改为sh.>>>,发送,取消抓包。
3、然后就可以直接访问了。
十二、Pass-11
1、选择sh.php,开启抓包,提交,抓包。
2、将sh.php改为sh.pphphp,发送。
3、右键图片,在新标签页打开,即可看到成功。
十三、Pass-12
1、这一关需要php版本<5.3.4,而且magic_quotes_gpc=off。
2、提交sh.jpg,抓包,在头文件补全upload后面的,在sh.php结尾加上%00。
3、直接访问upload/sh.php即可。
十四、Pass-13
1、选择sh.jpg,提交,抓包,发送到重发器。
2、找到/upload/把后面补全,/upload/sh.php%00
3、选中%00右键转换选择-URL-网址解码,发送
4、直接访问upload/sh.php即可发现成功
十五、Pass-14
1、准备一张图片,不行的话多换几张,和sh.php放一块,使用命令合成一张新的图片。
copy 1.gif/b+123.php/a she.jpg
2、选择文件,上传,然后右键文件包含漏洞
3、在hackbar中load一下地址,然后加上?file=upload/(上传上去的文件名)
十六、Pass-15
Pass-15和Pass-14一样。
十七、Pass-16
Pass-16和Pass-14一样。
十八、Pass-17
这里最好选择gif图片木马
可以使用制作好的gif(这里不提供)。
上传后,使用蚁剑即可连接成功。
十九、Pass-18
1、选择sh.php,开启抓包,提交,抓到包。
2、将之前写好的一句话木马换成
3、发送到测试器,选择狙击手,不设置包,调整线程,选择没有负载,资源池中最大并发请求数大一些。
4、使用python脚本文件去访问upload下时有时无的文件。
直到出现ok。
就可以看到shell.php
二十、Pass-19
1、选择sh.php,开启抓包,提交,抓到包。
2、将之前写好的一句话木马换成
3、在sh.php后面加上.7z
4、写好一个py文件
5、burp攻击(方式和上关一样)+py请求。
成功拿到shell。
6、利用shell
7、第二种绕过方法:文件包含+图片马
抓到包后将sh.php改为sh.jpg,一句话木马前加上GIF89a,上传成功后,使用前几关的文件包含漏洞包含即可成功。
二十一、Pass-20
1、第一种方法:上传文件,文件名用%00截断,抓包解码
例如shell.php%00.jpg截断后shell.php或者使用/.
注意:%00截断需要gpc关闭,抓包,解码,提交即可,截断文件名php版本小于5.3.4才行。
2、第二种方法:配合中间件解析漏洞使用
例如 iis6.0 上传 1.php;1.jpg , apache 上传 1.php.a 也能解析文件 a.asp;1.jpg 解析成 asp
二十二、Pass-21
第二关的方法同样适用,但需要前面关卡的文件包含漏洞。
1、选择sh.php,开启抓包,提交,抓到包
需要用Burp2020版。
2、将Content-Type字段改为image/jpeg(允许的三个都可以)并将数据包中的name="save_name"以数组的形式发送,并将数组的最后一位改成可被成功放行的(jpg,png,gif)中的任意一种。
3、放包,成功上传。
4、即可发现成功。
在文件包含漏洞页面,使用file访问即可。