zoukankan      html  css  js  c++  java
  • XSS简介

    xss又叫css,为了与前端的css区别,所以叫xss,即跨站脚本攻击。

    XSS原理解析

    XSS攻击是在网页中嵌入客户端恶意脚本代码,恶意代码一般都是javascript编写的。想要深入研究XSS,必须精通javascript。

    javascript可以获取用户的cookie、改变网页内容、URL跳转,所以,存在XSS漏洞的网站,就可以盗取Cookie、黑掉页面、跳转到恶意网站。

    在存在XSS漏洞的地方输入<script>alert(/xss/)</script>,则会弹窗。在<script></script>之间输入恶意javascript代码,就会造成相应的恶意攻击。盗取Cookie、监控键盘记录等。

    反射型XSS

    反射型XSS也被称为非持久性XSS。当用户访问一个带有XSS代码的URL请求时,服务端接收数据后处理,然后把带有XSS代码的数据发送到浏览器,浏览器解析XSS代码,造成XSS漏洞。

    比如:XXX.com/1.php?username=<script>恶意代码</script>,就会造成反射型XSS漏洞。看似没什么危害,但是当你了解了Cookie的话,就不会这么认为了。

    存储型XSS

    存储型XSS又被称为持久型XSS。攻击者提交XSS代码,服务器接收并存储,再次访问这个页面时,XSS代码从数据库中被读取出来,浏览器解析XSS代码,造成存储型XSS攻击。

    存储型XSS一般存在于评论,留言板等地方,测试是否存在XSS时,我们要确定输出的内容是在标签内还是标签属性内或者是其他地方,如:<input type="text" name="content" value="<script>alert(/xss/)</script>"/>  这段代码中的XSS就不会被执行,因为XSS代码是value属性的值,被当做HTML来解析,此时,我们需要闭合input标签,<input type="text" name="content" value=""/><script>alert(/xss/)</script>"/> ,这样就会执行XSS代码,造成恶意攻击。

    检测XSS

    检测分为手工检测和软件自动检测。

    (1)手工检测

    输入一些敏感字符,例如“<、>、"、'、()”等,提交请求查看源代码看是否被转义。

    不知道输出位置的情况下使用:"/>XSS  来测试。

    (2)软件自动检测

    软件检测都是自动化,像appscan、awvs、burpsuit等都可以检测。

    专业的XSS扫描工具有XSSER、XSSF等。

    检测XSS要工具与手工并进,这样才能更好的检测XSS。

  • 相关阅读:
    四川第七届 C Censor (字符串哈希)
    四川第七届 C Censor (字符串哈希)
    Android:实现两个Activity相互切换而都不走onCreate()
    正宗佛祖凝视-原装正版
    iOS中数组遍历的方法及比較
    html5 返回当前地理位置的坐标点(经纬度)
    Android之——卸载应用程序
    Android—— 4.2 Vold挂载管理_NetlinkManager (四)
    2014年java软件project师面试题收集
    C++刷题——2736: 指针练习--输出最大值
  • 原文地址:https://www.cnblogs.com/whitehawk/p/9893193.html
Copyright © 2011-2022 走看看