XSS大法

这篇文章只是一些关于XSS我认为比较重要的地方,并没有系统的学习内容。具体的细节可以参考一些书本或者大佬的博客。

书本:《白帽子将web安全》

大佬博客:https://www.cnblogs.com/leestar54/p/5798937.html#wiz_toc_7

这位大佬把白帽上的知识总结了一下 ,没有书的朋友可以直接看

首先,XSS有三种类型(严格来说有两种)

1.需要扎实的html、JavaScript、ActionScript(Flash XSS)功底(绕过与攻击语句)

2.是一种被动的攻击手法

3.website有http-only、crossdomian.xml时没有用

1.反射型XSS

发出请求时,XSS代码出现在URL中,作为输入,提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,所以叫做反射型XSS。

2.存储型XSS

存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。

存储型的XSS危害最大,因为它是直接将代码存储进服务器中,每次使用该服务器都会令这段代码运行一次,比方在一个网页中存在存储型XSS,有人将窃取cookie的代码写进去,那么访问这个页面的所有用户的cookie都会被这个人得到,这会泄露大量的个人隐私,当然也可以写一些其他代码来进行不同的用处。

最典型的例子是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,目标用户查看留言板时,那些留言的内容会从数据库查询出来并显示,浏览器发现有XSS代码,就当作正常的HTML与JavaScript解析执行,然后就出发了XSS攻击。

3.DOM XSS

DOM XSS和反射型、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS考的时浏览器端的DOM解析,完全是客户端的事情。DOM型也属于反射型,不过修改的是DOM节点。

攻击时:img标签是自动触发而受到攻击的,p标签是引诱触发而受到攻击的,而iframe则是广告植入攻击。

所使用的语言可分为JavaScript,flash,和其他富客户端语言。


对于我们这些刚接触安全不久的新人来说,从教程上看到了一些代码,但是却不知道怎么使用是常有的事。

写入JavaScript脚本的方法:

1.从url中写入

这个方法就不用多说了,有的网站会把一些参数放在url中,如果其中就有注入点的话那么直接把参数修改成想要的XSS攻击语句就好了。

2.从控制台写入

有时url中不会显示参数,这时我们可以从控制台中写入参数。

(如果浏览器支持调试,可以使用console()方法在浏览器中显示JavaScript值)

控制台中可以不用添加

"> //大小写

">alert(2) //双写

"> //超链接

">