对于xss和sql注入的防范(美团网站xss例子)

来源:互联网 发布:nginx反向代理什么意思 编辑:程序博客网 时间:2024/05/29 15:03

对于xss和sql注入这样的漏洞有很多工具是可以检测的。

也是最常见的web安全问题。

其实这样的问题是很好避免的 只要在应用架构上 统一数据的吞吐,在吞吐的过程中做好数据的校验就ok了

最简单的php的 htmlspecialchars  就可以把一些危险字符进行转译

就可以大大减低xss和sql注入的可能性

也可以结合其他的函数进行更全面的过滤

http://blog.csdn.net/u014017080/article/details/53064300

其实最主要的是要做到数据的统一管理

在应用架构上保持统一的数据出口和入口是很必要的。对于GET POST的数据统一过滤之后在渲染进应用
总结:

1.入口过滤危险字符 2.出口控制危险输出  
eg: 就像<script>决定的危险字符在插入数据的时候 直接替换成空。其余的像 “ ‘ /  等等 统一转译 \" \' \/  吐出数据的时候统一转换成 “ ‘ /   或者 直接转换成html源码  < :&lt;   >:&gt;

=================下面是一个美团的例子==================

首先在评论的地方我输入了一个<script>alert(1)</script>,发现在展示的时候<> 是会被转移成html编码来展示的 这样的话就没有办法了,囧。。。。

不过通过查看源码 我发现当点击编辑的时候 在txtarea中 文字是会被转译会原始字符展示的。所以我自己构造一个txtarea的闭合标签然后在<script>alert(1)</script>

这样就可以构造一段js注入</txtarea><script>alert(1)</script>

这样alert(1)就成功的注入进去了。but,这是个selfxss 所以不能干什么坏事。。。。。这是写一个简单的例子。 大家也可以自己试试哈 评价的时候输入</txtarea><script>alert(1)</script>然后刷新页面就可以了。


1 0