• 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

  • 相关阅读:
    Django and Djangorestframework
    安装socketio出现module 'importlib._bootstrap' has no attribute 'SourceFileLoader' 错误
    pycharm 里运行 django 工程 You must either define the environment variable DJANGO_SETTINGS_MODULE 错误
    linux 安装python3
    iOS 10.3下解决Fiddler代理抓包ssl证书信任问题
    Android 7.0 fiddler代理抓不到https请求的解决办法
    python base64 decode incorrect padding错误解决方法
    Fiddler做代理服务器时添加X-Forwarder-For转发真实客户端ip
    python安装pbkdf2 遇到错误TypeError: __call__() takes exactly 2 arguments (1 given)
    soapUI通过groovy脚本设置超时时间
  • 原文地址:https://www.cnblogs.com/wildorchid/p/11576885.html
Copyright © 2020-2023  润新知