新人必看XSStri

极客

新人必看XSS trick:嘿,别急着交学费,我踩过的坑都在这儿了!

开头先唠两句

哎哟喂,各位刚入坑网络安全的小伙伴们,是不是一打开XSS(跨站脚本攻击)的资料就感觉头大如斗?什么反射型、存储型、DOM型,还有一堆绕WAF的骚操作,看得人眼花缭乱对吧?别慌,作为一只在XSS坑里摸爬滚打的老鸟,我今天就掏心窝子跟你们聊聊,新人必看XSS trick到底是个啥玩意儿,这篇文章不是那种冷冰冰的教科书,就当我跟你蹲在马路牙子上边抽烟边唠,保证让你听完直拍大腿:“卧槽,原来是这么回事儿!”

先搞明白XSS到底在玩啥

说白了,XSS就是你把一串恶意的JavaScript脚本塞进人家网站里,让它在别人的浏览器里跑起来,有点像啥呢?就像你往邻居家的快递盒里塞了个臭气弹,等他拆快递的时候,“嘭”一下就炸了,哈哈,但咱可不为搞破坏,咱是为了挖漏洞赚赏金,或者提升自己的安全技能不是?

很多新人上来就死记硬背payload,什么<script>alert(1)</script>,测了半天没反应就放弃了,我跟你说,这绝对不行!搞新人必看XSS trick,第一件事就是得懂原理,而不是当个复读机。

几个能让你少掉点头发的技巧

第一招:别老盯着<script>标签看!

哎呀妈呀,我刚开始学的时候也是傻乎乎的,觉得只有<script>标签才叫XSS,结果呢?人家网站开发者早就不傻了好吗!HTML5里那些<svg><img><video>,甚至是<math>标签,哪个不能触发XSS?你试试<svg onload=alert(1)>,说不定一下就弹窗了,这种新人必看XSS trick的入门思维,就是打破“脚本标签=XSS”的魔咒!

第二招:编码绕过,那可是个技术活啊!

你以为你写上<script>,后端就老老实实放你过去?门儿都没有!人家早就过滤了尖括号了,这时候就得耍点小聪明了,比如把<换成它的URL编码%3C,或者用Unicode编码,甚至搞个双重编码嵌套,你说这些方法绕不绕?绕!但架不住它好用啊!

举个例子吧,我上次测一个站点,单引号双引号尖括号全被过滤了,我灵机一动,用&#x3c;script&#x3e;这种HTML实体编码,结果还真让我给绕过去了!当时那个激动劲儿,感觉比中了彩票还爽!这就是新人必看XSS trick里最经典的编码绕过手法呀。

第三招:上下文才是亲爹!

这可是新人必看XSS trick中最重要的思维了!很多人喜欢拿一套payload走天下,那哪行啊?你得先搞清楚输入点到底落在哪个“上下文”里:

  • 如果落在HTML标签内部,那你就得想办法闭合标签;
  • 如果落在JavaScript字符串里,那你就得设计好单双引号的配合;
  • 如果落在CSS里,那就更精彩了,expression()之类的老古董都能掏出。

记得有一次,我碰到个输入点嵌在$('.xxx')这种jQuery选择器里,我直接构造了个#<img src=x onerror=alert(1)>,利用CSS选择器的特性,成功弹窗!是不是感觉像魔术一样?嘿嘿,这就是根据上下文灵活变通的威力!

说说那些让我喷血的翻车现场

当然啦,光说成功的经验那是一碗鸡汤,没意思,我也得说说我当时的糗事,让你们乐呵乐呵,顺便少走弯路。

有一次我测一个存储型XSS,费了半天劲把payload插进去了,结果显示在后台管理页面,我心里那叫一个美啊,心想这波稳了!结果第二天一看,管理员的浏览器压根没执行我的脚本,为啥?因为人家用了CSP(内容安全策略),直接把我内联脚本给干掉了!气得我差点摔键盘,真是白忙活一场。

从那以后我就学乖了,测XSS之前,先看看响应头里的Content-Security-Policy,如果里头写了script-src 'self',那我大概率就得找找有没有JSONP接口,或者看看能不能靠引入外部JS来绕过(当然现在严格的外链也难了),所以啊,新人必看XSS trick就藏着这些小细节里,你不注意,只能吃哑巴亏。

工具是拐杖,别当成腿

我知道现在很多新手一上来就开Burp Suite、XRAY或者XSS Hunter,这没错,挺高效的,但问题是,你光靠工具自动找,自己不动脑子想一想为啥能触发、为啥被拦,那等于练武术只学套路不学内功啊!工具测出来一个点,你自己得拿手一遍一遍地试这些新人必看XSS trick,搞明白WAF到底匹配了啥,你才能玩得更野。

你要是想练手,我建议你本地弄个DVWA或者Pikachu靶场,自己手动打一遍,听着容易,等你真的用编码绕过、大小写混合、注释符分割等方法把WAF按在地上摩擦的时候,你就会大喊:“爽!这就是新人必看XSS trick的乐趣!”那种成就感,花多少钱都买不来。

最后两句掏心窝的话

哎,说了一大堆,嗓子都冒烟了,总结下来呢,学XSS千万别急躁。新人必看XSS trick不是那些花里胡哨的payload列表,而是你对浏览器解析机制的理解、对前后端交互逻辑的洞察,以及一次次F12调试的耐心。

今天是星期五晚上,窗外月亮挺圆的,我就这么敲着键盘跟你们唠,说真的,搞安全这行,不就得有这么点儿较真劲儿嘛!你要是刚入门,别怕出错,大胆去测,多看看别人的writeup,但最重要的是自己动手去验证一遍。

如果你看完这篇文章对XSS或者网络安全其他方向感兴趣,想要系统学一学,别一个人瞎捉摸了!学习网络安全可以加QQ:3382688692,咱们一起交流,带你少走弯路,快速上手那些让人头秃但又其乐无穷的攻防技术!

新人必看XSStri

行啦,今天就聊到这儿,我得去喝口凉白开润润嗓子了,祝各位早日成为XSS大神,挖洞挖到手软,赏金拿到手酸!拜拜了您嘞!

文章版权声明:除非注明,否则均为咸鱼-即刻攻防原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码