前端 跨站脚本(XSS)攻击的一些问题,解决<script>alert('gansir')</script>
问题1:跨站脚本(XSS)的一些问题,主要漏洞证据: <script>alert('gansir')</script>,对于这个问题怎么解决?
(测试应当考虑的前端基础攻击问题)
方案一:
一、 过滤用户输入的内容,检查用户输入的内容中是否有非法内容。如<>(尖括号)、"(引号)、 '(单引号)、%(百分比符号)、;(分号)、()(括号)、&(& 符号)、+(加号)等。
二、严格控制输出
可以利用下面这些函数对出现xss漏洞的参数进行过滤
1、htmlspecialchars() 函数,用于转义处理在页面上显示的文本。
2、htmlentities() 函数,用于转义处理在页面上显示的文本。
3、strip_tags() 函数,过滤掉输入、输出里面的恶意标签。
4、header() 函数,使用header("Content-type:application/json"); 用于控制 json 数据的头部,不用于浏览。
5、urlencode() 函数,用于输出处理字符型参数带入页面链接中。
6、intval() 函数用于处理数值型参数输出页面中。
7、自定义函数,在大多情况下,要使用一些常用的 html 标签,以美化页面显示,如留言、小纸条。那么在这样的情况下,要采用白名单的方法使用合法的标签显示,过滤掉非法的字符。
各语言示例:
PHP的htmlentities()或是htmlspecialchars()。
案例:
渗透bwapp HTML Injection - Reflected(GET) name输入 <script>alert('gansir')</script> 或插入图片
<img src="gan.png">
结果:
显示插入内容
问题2:针对测试来说应该多方面进行考虑:如果一旦将特殊字符进行实体化我们要考虑将特殊字符进行:URL转化测试
name输入 %3cscript%3ealert(%2fxss%2f)%3c%2fscript%3e 或插入图片
结果:
显示插入内容
最新文章
- 创建虚拟目录失败,必须为服务器名称指定“localhost”?看进来!!
- ie与火狐中常见的一些兼容问题
- poj 1390 Blocks
- oracle两时间相减得到相差的时间
- ie下如果已经有缓存,load方法的效果就无法执行.的解决方法
- 5050 [JL] 他爱上了鸭蛋
- Quartz Cron 触发器 Cron Expression 的格式
- P142-1
- MVC ViewData和ViewBag[转]
- ionic ngcordova camera
- 如何在Eclipse中配置Tomcat
- Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_2
- java封装的方法
- 开关调色新世界BP2888电源解决方案
- properties文件操作
- 【异常处理】Java异常如何做异常处理
- vue组件is属性详解
- oracle出现无法响应新的请求,报ora-12516错误
- Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC 配置校验器
- Linux安装redis和部署