上一个项目是个工作流项目。
我进去做技术架构,结果在最后出了个纰漏。测试发现框架没有对前台页面中的输入框做JS check。
也就是说,客户可以在前台画面的输入框中构造javascript,然后成功提交到后台写入DB。
系统安全这块,实在是我的短板。虽然后来用encode之类解决了问题,但是还是想搞清楚背后的故事。
背后其实就是XSS 跨站攻击,简单说起来就是JavaScript注入,和Sql注入类似,在画面的输入框上精心构造javascript,然后提交到出去。
当被执行的时候,就可以执行该JS,获取很多隐私数据。
玩这个东西绝对需要javascript的高手。以下以网易邮箱举例(07年的事情)
1.测试XSS
新建一个邮件,填好收件人和邮件主题,在正文的工具栏里有个勾选框可以编辑html格式的内容,如图
勾选后输入如下内容:,如图
点击发送后再收取并打开刚刚的邮件,发现跳出一个对话框,很明显,在这里我们可以插入htm代码并成功运行。如图
2.获取cookie测试
当然,破坏者们的目标不是仅仅让它跳个对话框出来给人们一个惊讶,他们会想办法获得些敏感信息,比如cookie。
看下取得cookie的实验吧。同样新建一个邮件,填好收件人与主题,并勾选“编辑源码”,在正文里写入如下语句:
如图:
然后发送并收取mail,看看是什么?对的,把cookie都显示出来了。如图:
3.session欺骗
上面只是一个测试,现在所讲的方法可以让攻击者在有效时间内登陆受害者的邮箱,这就是session欺骗。Session的默认有效时间是20分钟,当攻击者截取到session,同时受害者没有注销掉会话记录的时候,欺骗就成功了。
同样勾选“编辑源码”,填入以下内容:
。
意思是访问你的服务器上getcookie.asp文件,这个文件用于收取访问者的cookie,收取后在你的服务器上生成指定文件。如图:
getcookie.asp的源码是:
4. 最危险的利用
如果你认为这个漏洞的破坏程度这是这样那就错了,既然上面的利用可以让你访问任意文件,那么如果攻击者让你浏览的是病毒页面呢?可想而知,如果你的 IE存在漏洞,那是非常危险的。这是简单演示下让收信人访问 baidu网站。
勾选“编辑源码”,写入内容:
如图
发送邮件并收取打开后如图:
很明显这是一个破坏力极大的漏洞。
这篇博客介绍了XSS跨站脚本攻击的概念,通过网易邮箱的实例展示了如何利用JavaScript注入获取用户cookie,甚至进行session欺骗。作者详细解释了攻击过程,包括新建邮件构造恶意代码、获取cookie以及潜在的session欺骗和危险的病毒页面访问,揭示了此类漏洞的严重性。
903

被折叠的 条评论
为什么被折叠?



