xss-labs靶场xss靶场通关教程第11关

XSS漏洞介绍

xss(cross site script)跨站脚本攻击,指的是攻击者往web页面插入恶意脚本代码,当用户浏览时,嵌入web页面里的脚本代码就会执行,从而达到恶意攻击用户的特殊目的,它主要分为俩种类型

1. 存储型XSS(持久型):攻击者将恶意脚本存储在目标服务器上,每当用户访问受感染的页面时,恶意脚本就会执行。

2. 反射型XSS(非持久型):攻击者诱使用户点击一个链接,该链接将恶意脚本作为输入传递给服务器,然后服务器将这个脚本反射回用户的浏览器执行。

3. DOM型(非持久型):它主要发生在客户端(浏览器端),依赖于网页中动态的文档对象模型(DOM)结构。与传统反射型XSS和存储型XSS不同,DOM XSS攻击不依赖于服务器端的漏洞,而是利用客户端JavaScript代码中的漏洞来注入并执行恶意脚本。

XSS攻击的常见目标是盗取用户的cookie和其他敏感信息,这些信息可以用来进行会话劫持、身份冒充等进一步攻击。如何防御?

1. 输入验证网站开发者需要对用户输入进行严格的验证和过滤,避免将不受信任的数据直接输出到HTML中。

2. 输出编码:当将用户输入的数据输出到页面时,使用适当的编码方法(如HTML实体编码)来转义可能被浏览器解释为脚本的特殊字符。

3. 对输出内容进行编码:在变量输出到HTML页面时,可以使用编码或转义的方式来防御XSS攻击。

第11关Payload

这一关需要在请求头Referer中插入Payload,可以使用HackBar或者burp抓包

Referer:"onfocus="javascript:alert()"type="text" "
图片[1]-xss-labs靶场xss靶场通关教程第11关-山河网络安全

过程细节

f12

图片[2]-xss-labs靶场xss靶场通关教程第11关-山河网络安全

检查源码使用,这个str11并没有使用htmlspecialchars()方式进行转换,那么这里就是注入点

图片[3]-xss-labs靶场xss靶场通关教程第11关-山河网络安全

**htmlspecialchars()**:一个PHP函数,用于将特殊字符转换为HTML实体。这个函数通常用于防止跨站脚本(XSS)攻击。
$_SERVER[‘HTTP_REFERER’] :链接到当前页面的前一页面的 URL 地址。(referer,推荐人)

尝试注入Referer:<script>alert()</script>

图片[4]-xss-labs靶场xss靶场通关教程第11关-山河网络安全

注入成功,但是他把我们的< 和> 这些尖括号给去掉了

图片[5]-xss-labs靶场xss靶场通关教程第11关-山河网络安全

那么可以尝试使用onfocus事件,并且把隐藏的input给显示出来,payload如下

Referer:"onfocus="javascript:alert()"type="text" "

© 版权声明
THE END
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容