反射型跨站脚本漏洞的几种类型

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>时,将会弹出警告框。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
跨站脚本攻击(Cross-Site Scripting,XSS)是一种常见的网络安全漏洞,攻击者利用这个漏洞向网中注入恶意代码,并在用户浏览器上执行。这种攻击通常发生在存在输入输出的网页应用程序中。 XSS攻击主要分为三种类型: 1. 存储XSS:攻击者将恶意代码存储在目标网的数据库中,当其他用户访问该网时,恶意代码被返回并在用户浏览器中执行。 2. 反射XSS:攻击者构造一个包含恶意代码的URL,并将其发送给目标用户。用户点击链接后,恶意代码从URL中获取并在用户浏览器上执行。 3. DOM-based XSS:攻击者通过修改网页的DOM结构来执行恶意代码,不需要向服务器发送请求。这种类型的XSS攻击主要基于客户端脚本和DOM文档对象模。 为了防止XSS攻击,开发人员可以采取以下几种措施: 1. 输入验证和过滤:对用户输入的数据进行验证和过滤,确保不允许包含恶意代码。 2. 输出编码:在将数据输出到网页上时,使用适当的编码方式(如HTML实体编码或JavaScript转义)来防止恶意代码的执行。 3. 使用安全的API:避免使用不安全的API,特别是将用户输入作为参数的API。例如,使用textContent替代innerHTML可以防止XSS攻击。 4. 设置HTTP头部:通过设置X-XSS-Protection和Content-Security-Policy头部,可以进一步加强网的安全性。 请注意,这只是一些常见的防御措施,具体的应对措施还需要根据实际情况和开发框架来确定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值