🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
1.xss攻击案例 https://edu.csdn.net/course/detail/8064 ![](https://img.kancloud.cn/51/75/51754f20a98d38aa3d5f4f259acfa122_871x532.png) 2.Xss漏洞代码 (1)为什么会存在反射型xss? 没有对输入的内容进行判断过滤,导致了插入的javascript语句能够被浏览器直接执行! (2)什么样的代码会存在反射型的xss? 那就看看后台使用到前台输入的内容有没有对输入内容进行过滤! 3.前台代码html ``` <html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <head> <title>反射型xss测试页面</title> </head> <div > <form name="xx" action="fanshe_xss.php" method="GET"> <p>输入你的名字</p> <input type="text" name="name"> <input type="submit" value="提交"> </form> </div> </html> ``` 4.后台对前台传入的参数的使用 http:xxx:800/xsszhuanxiang/fanshe/fanshe_xss.php?name=xxx ``` <?php if(!array_key_exists (“name”, $_GET) || $_GET[‘name’] == NULL || $_GET['name'] == ‘’){ $isempty = true; } else { echo '<pre>’; echo 'Hello ' . $_GET['name’]; echo '</pre>'; }?> ``` 5.反射型xss漏洞修复方案 1、插入拦截器,对输入内容进行过滤。 2、采用安全的API。 6.str_replace方法介绍 ![](https://img.kancloud.cn/ff/1d/ff1d63c431e211275ade8a9e71c327ec_819x279.png) 7.反射型xss漏洞修复方案 1、插入拦截器,对输入内容进行过滤。 ``` str_replace('<script>', '', $_GET['name']); ``` 2.采用安全的API ``` htmlspecialchars($_GET['name']); htmlspecialchars定义和用法 htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。 预定义的字符是: & (和号)成为 & " (双引号)成为 " ' (单引号)成为 ' < (小于)成为 < > (大于)成为 > ```