我们来通俗的了解一下什么是跨站脚本攻击(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也算明白什么回事了吧,好了,我得跑路咯。。(逃。。。

最新文章

  1. mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
  2. Ural 1209. 1, 10, 100, 1000... 一道有趣的题
  3. 一个请求在Struts2框架中的处理流程
  4. iOS开发中的错误整理,再一次整理通过通知中心来处理键盘,一定记得最后关闭通知中心
  5. (转)深入理解Java中的final关键字
  6. MultipeerConnectivity
  7. C# 约瑟夫环算法
  8. juce中的内存泄漏检测
  9. Ogre嵌入MFC傻瓜全然教程(三)
  10. 删除重复&amp;海量数据
  11. python-桶排序
  12. js之学习正则表达式
  13. 谷歌AI涉足艺术、太空、外科手术,再强调AI七原则
  14. Ex3_28 在2SAT问题中,给定一个字句的集合..._第十二次作业
  15. ModuleNotFoundError: No module named &#39;requests&#39;
  16. JavaSE——TCP协议网络编程(一)
  17. c++11——可变参数模板
  18. Data caching per request in Owin application
  19. 解释Crypto模块怎么就这么&quot;皮&quot;?No module named &quot;Crypto&quot;
  20. Qt 播放音频文件

热门文章

  1. Linux 重启命令
  2. 简单说说NoHTTP
  3. 不要怂,就是GAN (生成式对抗网络) (六):Wasserstein GAN(WGAN) TensorFlow 代码
  4. PCB行业ERP解决方案
  5. 徒手用Java来写个Web服务器和框架吧&lt;第二章:Request和Response&gt;
  6. sonarqube代码检测
  7. 3396: [Usaco2009 Jan]Total flow 水流
  8. 关于使用lazytag的线段树两种查询方式的比较研究
  9. Git环境搭建以及上传到GitHub全文记录
  10. Metadata Service 架构详解 - 每天5分钟玩转 OpenStack(165)