一键防御XSS漏洞

2025-03-19 35 0

一、XSS 漏洞原理

XSS是最常见的Web应用程序安全漏洞之一,攻击者通过向网页注入恶意脚本,当其他用户浏览该页面时,恶意脚本就会被执行,可能导致:

  • Cookie值窃取
  • 会话劫持
  • 页面内容篡改
  • 重定向到恶意网站

二、防御方案及代码实现

  1. 对输入进行过滤与验证

适用场景:用户提交数据前(如评论、文章内容、用户名)

// 过滤评论中的危险标签(如<script>、<iframe>)

$comment = $_POST['comment'];

$clean_comment = strip_tags($comment, '<p><a><strong><em>'); // 只允许保留安全标签

strip_tags:用于从字符串中去除 HTML 和 PHP 标签,可选择保留指定的安全标签。

  1. 对输出进行转义

适用场景:将用户输入内容输出到HTML页面时

// 普通文本输出(所有特殊字符转换为 HTML 实体,使用 UTF-8 编码)

echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');

// 在HTML属性中输出

<input value="<?= htmlspecialchars($user_input, ENT_QUOTES,'UTF-8') ?>">

三、bp扩展自动化测试XSS

以XSS靶场第三关为例(修改未使用htmlspecialchars函数和使用htmlspecialchars函数)

1、未使用htmlspecialchars函数

一键防御XSS漏洞插图

使用burpsuite抓包-->intruder模块-->添加变量

一键防御XSS漏洞插图1

设置payload

一键防御XSS漏洞插图2

设置settings,找到grep-march添加一个值(都行)。

一键防御XSS漏洞插图3

bp扩展XSS Validator-->grep phrase 修改值为上面设置的值(111)

一键防御XSS漏洞插图4

攻击,显示1的payload是可以使用XSS漏洞的。

一键防御XSS漏洞插图5

验证,右击找到request in browser-->in original session

一键防御XSS漏洞插图6

复制网址后浏览就有弹窗出现,说明执行成功。

一键防御XSS漏洞插图7

2、使用htmlspecialchars函数

一键防御XSS漏洞插图8

用一样的方法发现没有XSS漏洞。

一键防御XSS漏洞插图9

对比之后我们可以知道htmlspecialchars函数可以用来防御XSS漏洞。

四、XSS Validator工具的安装

Phantomjs下载地址:http://phantomjs.org/download.html

下载后配置环境变量,把bin目录下的Phantomjs.exe加入到环境变量中。

xss.js下载地址:https://github.com/nVisium/xssValidator

两个都下载完成后,将xss.js放在phantomjs.exe同一个文件夹下。

一键防御XSS漏洞插图10

在这个目录下打开终端输入:phantomjsxss.js(执行之后不要关闭窗口)一键防御XSS漏洞插图11burpsuite里安装这个插件,安装完就可以使用了。

一键防御XSS漏洞插图12


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

数据跨境 | 韩国数据安全与跨境合规实践
Mage-AI 不安全的默认身份验证设置导致0day远程命令执行漏洞(CVE-2025-2129)
Java反序列化-CC1-TranformedMap链
VMware Windows Tools 存在认证绕过漏洞(CVE-2025-22230)
Splunk 高危漏洞:攻击者可通过文件上传执行任意代码
ATT&CK实战系列(三)红日靶场3

发布评论