日期:2014-05-16  浏览次数:20800 次

XSS攻击/AJAX跨域攻击
前两天在看xss攻击,但是一直没搞明白是什么样的攻击,今天就想了下,自己写了个测试代码
先是http get请求之不安全吧
GET请求就是一把利器,但是在不注意代码规范和安全意识较差的程序员手里,就成了一把凶器
为什么,请看代码:
a.html
<img
src="http://localhost/a.php?uid=1" />

a.php
<?php
file_put_contents("./te",time());

如果你能看懂我在写什么?那么说明你的安全意识很强,以上只是两端非常简单的代码,看上去并没有什么安全漏洞可言
下面听我分析下:
假设 a.php是一个删除uid=1的程序代码,而这个时候当然需要用户权限,对于普通用户,他必然不能访问该页面,因为他没有权限,一般的,我们会把用户组那些信息存入到session里面,对于管理员就是管理组,普通会员就是会员组,那么会员组的会员访问没有权限,出错跳转等等行为,这里没有任何问题;
但是如果是一个已经登陆的管理员去浏览a.html,那么问题可严重了,因为他已经登陆了,在session里面有管理组的信息,也就是说他通过html的标签去访问a.php这个地址,而他又有权限,那么他就可以删除uid=1的用户了。。。试想下,是不是很危险?
总结:在改变数据结构的程序,最好使用post
XSS攻击
什么是XSS攻击,这个没什么好讲的,自己google
就是要注意过滤html里面的javascript标签就可以了,否则后果很严重,还是给一段代码吧
<img
onload="alert(document.cookies);"
src='xxx.jpg'>

如果onload是一段ajax的代码,向我的程序插入你的cookie甚至其他信息,是不是也非常危险?
这就是为什么现在的浏览器不允许跨域请求的原因了