前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XSS Cheat Sheet

XSS Cheat Sheet

作者头像
瓦都剋
发布2020-08-07 16:22:50
2.1K0
发布2020-08-07 16:22:50
举报
文章被收录于专栏:安全泰式柑汁安全泰式柑汁

如果碰到没遇到或者不知道的,建议大家先Google、看文档。

首先大家可以先看下这个网站:

https://portswigger.net/web-security/cross-site-scripting/cheat-sheet

如果测试的时候在这个网站上找不到可以利用的方法的话,那...emmm...就放弃吧。

下面是我在工作中常用的一些方法,大部分均来自于网络上的各个表哥的思路,同时有自己的一些发散、扩展,我先替我自己对表哥们说声谢谢了。

1. 拼接

拼接函数:

比如:

2. 编码

常见的编码类型:URL编码、base64编码、Hex编码、JS8编码、JS16编码、Unicode编码、html编码

既然是编码肯定需要一些函数来执行,比如:eval,setTimeout,setInterval,constructor,execScript(IE)等

3. 字符串

利用正则表达式返回字符串

利用toString转换字符串。

整数toString(radix)转字符串, 第一个点表示浮点数,第二个点表示调用函数

alert字符串用parseInt函数,以基数为30转化后为8680439

parseInt('alert',30) == 8680439

toString函数将返回的数字8680439,以基数为30还原

8680439..toString(30) == alert

4. 函数多样调用
5. 利用数组等的功能函数

利用拼接数组函数

concat()不仅仅可以用于连接两个或多个数组,还可以合并两个或者多个字符串

再补充个有些防护过滤了document.cookie可以试下下面的,很爽的

join()将数组转换成字符串

6. 新建函数
7. location

location对象的hash属性用于设置或取得 URL 中的锚部分,比如:http://localhost/1.php#alert(1),我们在控制台输入location.hash,则会返回我们设定的,即#alert(1)

再结合slice()substr()等字符串处理函数获取字符串

同样的道理location.search也类似,它可以把部分参数放在?之后

再比如:

9. 伪协议

常见的伪协议有:javascript:vbscript:(IE下),data:

10. unescape

unescape()函数用于对已经使用escape()函数编码的字符串进行解码,并返回解码后的字符串。

很多会拦截外部url,比如拦截//

11. with

with用来引用某个特定对象中已有的属性,使用with可以实现通过节点名称的对象调用。

如果.被拦截,可以使用with替代。

基于DOM的方法创建和插入节点把外部JS文件注入到网页中,也可以应用with。

12. 过滤括号
13. 引用外部url

创建和插入节点把外部JS文件注入到网页

14. 赋值
15. 黑名单

alert(1)为例

16. 标签
16.1. body
16.2. 其他

太多了,再次提醒大家好好看看这个网站: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet

17. 事件捕获
18. 属性
渗透测试常见利用手法
  • XSS + CSRF
  • XSS + 文件上传
  • XSS + SSRF
  • XSS + DOS
  • XSS + RCE
  • XSS + NTLMhash
  • XSS + 文件读取
  • 。。。

案例我已经字字血泪的帮大家都整理好了,自取。

渗透测试之XSS漏洞利用案例大全(尊享版): https://ml.mk/Tjc

文章来源:

https://github.com/S9MF/Xss_Test/

https://xz.aliyun.com/t/1126

https://bbs.kafan.cn/thread-1686598-1-1.html

http://www.anquan.us/static/drops/papers-894.html

http://www.anquan.us/static/drops/papers-938.html

http://www.vulnerability-lab.com/resources/documents/531.txt

https://randywestergren.com/persistent-xss-verizons-webmail-client/

https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/XSS%20Injection

https://blog.csdn.net/haoren_xhf/article/details/83060293

https://lorexxar.cn/2017/08/23/xss-tuo/

https://xz.aliyun.com/t/4886

https://www.anquanke.com/post/id/180187

https://github.com/TheKingOfDuck/easyXssPayload

http://avfisher.win/archives/871

https://paper.seebug.org/344/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小宝的安全学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 拼接
  • 2. 编码
  • 3. 字符串
  • 4. 函数多样调用
  • 5. 利用数组等的功能函数
  • 6. 新建函数
  • 7. location
  • 9. 伪协议
  • 10. unescape
  • 11. with
  • 12. 过滤括号
  • 13. 引用外部url
  • 14. 赋值
  • 15. 黑名单
  • 16. 标签
    • 16.1. body
      • 16.2. 其他
      • 17. 事件捕获
      • 18. 属性
      • 渗透测试常见利用手法
        • 文章来源:
        相关产品与服务
        网站渗透测试
        网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档