xss攻击

 公司近日又被攻防演练中心扫出漏洞,这次不是注入(injection),而是什么xss,一时很懵,不知道是个啥玩意。

xss(reflect)

报文:

GET /login.jsp?doWhat=viewSharedDoc&documentid=121864"><script>alert(7146)</script> HTTP/1.1

Host: xxxxxx

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; rv:11.0) like Gecko

Accept: */*

Accept-Encoding: gzip, deflate

Referer: http://xxxxxxx/?doWhat=viewSharedDoc&documentid=121864

Cookie: csweb-8000-PORTAL-PSJSESSIONID=0DJCEypyZmrkITtxaZ9P3ynrBOo5DvO7!-2068434490; PS_TOKEN=pwAAAAQDAgEBAAAAvAIAAAAAAAAsAAAABABTaGRyAk4Acwg4AC4AMQAwABRrJffFias/y+LnV/kcJcea8ndB/2cAAAAFAFNkYXRhW3icJYo7DkBQFAXHJ0qFfRA8ggU8RCHi02jeImzP4hzcYuZMci8gDHzPk2+f75KTiQPHIFo2diLLrIwXVa92jKxUJTkFHan8sqD92JBRU4n/NvK7jP54AOmmDJ4=; SignOnDefault=ZJU_GUEST; PS_TOKENEXPIRE=18_Sep_2019_01:53:35_GMT; JSESSIONID=3F488447A3EF5DA1FFCB83C9C1082CF3

Accept-Language: zh-cn

 

截图

 

 

 

 经过度娘一番学习,才知道它是 Cross Site Scripting 跨站脚本的意思,它的攻击主要分三种:

一是通过URL带参数的GET方式,将参数中加入脚本,我们这次被扫出的就是这种情况,如: /login.jsp?doWhat=viewSharedDoc&documentid=<script>alert(7146)</script>。这种方式也称为“反射型”。

  经测试,IE11及Chrome会自动屏蔽这类攻击,但火狐firefox仍能执行:

   

二是通过提交功能(如评论、留言、回复之类)将脚本上传并存储到服务器,以后每个人访问都被会执行,这是个一劳永逸的好办法。还可以上传一些诱人图片来伪装,老年人最容易上当的那种:

  <img onclick="window.location.href='http://xxxxxxx'" width='300' src='img/flower.jpg'/>

三是不经过服务器处理,而是在前端实时经js解析DOM造成的。

 

造成的危害主要有:

1.盗取cookie:

  如在textarea之类的里面输入:<img src="null" onerror='alert(document.cookie)' />

2.通过css破坏结构和显示样式

3.重定向劫持流量

4.占用服务器资源,造成正常访问缓慢

5.通过iframe、frame、XMLHttpRequest或Flash等方式,执行管理动作,或盗发微博、私信,好友等

6.利用被攻击的域,以受信来源访问其他网站,执行不允许一般来源网站执行的操作。

 

如何防范

1.控制参数格式:过滤字符onerror,onclick, <iframe>, <frame>, <script>,<a>之类;对参数进行编码和长度限制;

2.保护cookie:设置httponly为true。

 

参考文章:

https://www.cnblogs.com/mao2080/p/9460397.html

posted on 2019-09-24 10:29  细雨流光  阅读(393)  评论(0编辑  收藏  举报

导航