实现简单的跨站脚本攻击(XSS)
我们来通俗的了解一下什么是跨站脚本攻击(XSS):在表单中提交 一段 js代码 ,提交的内容被展示到页面时 ,js会被浏览器解析
打个比方吧,比如我现在写的这篇博客,写完以后我要发表对吧? 发表这个过程在程序上就是一个 提交表单的过程对吧? 你们看到的内容,就是我提交的这些内容了,那么关键来了!! 如果,我在这个表单中输入 一串 javascript 代码会发生什么? 比如我输入了这么一串 (<script>alert(1)</script>),发表出来以后 展示到 你们的浏览器会发生什么呢,很明显,在博客园网站上 ,他什么都没发生,因为它早就考虑到了,并且做了完善的处理,让他没有被解析为脚本执行,但是很多普通的网站,考虑不周,并没有对此作严格的验证以及转义处理,那么只要有人看到了这样一篇博文,他的浏览器就会解析其中的 script 标签,并执行内部的js代码。所以每次刷新页面都会 弹出1 ,具体步骤 如下图:
首先找到一个表单,在一个文本域中输入 <script>alert(1)</script>
表单提交成功后,我们点 黑名单列表,他将会加载方才提交的信息,也就是 “添加黑名单理由”,结果就回发生这样的结果
看一下页面的源码,可以看出js代码被妥妥的解析了
基础到此为止,如果你在任何网站做到了以上这个结果, 那么说明那个网站是存在xss漏洞的,好的,既然知道他有漏洞了, 我们要怎么利用它搞一些事情呢。。如果说只是在页面上弹个1什么的,那也太无聊了。。所以,我们想到,js可以通过 document.cookie 获取 当前浏览器的 所有cookies,并通过ajax将cookies发送到我自己的服务器上保存起来, 这个cookies里面就有非常隐私的sessionid,利用这个 sessionid,我们就可以实现伪登入,在别人的账号里胡作非为。。。(逃。。。
简单图解一下过程:
还是那个 表单。。就放一张图吧,你们这么聪明,分分钟就看懂了^_^(补充:下图中 onload="sendCookie" 应该是 onload="sendCookie()" )
好吧到这里,大伙们应该对XSS也算明白什么回事了吧,好了,我得跑路咯。。(逃。。。😄