当前位置: 首页 > Web前端 > HTML

20170812-XSS跨站脚本攻击

时间:2023-04-02 13:05:53 HTML

XSS跨站脚本攻击:XSS跨站脚本攻击(CrossSiteScripting),为了不和CascadingStyleSheets(CSS)的缩写混淆,所以简称XSS的跨站点脚本攻击。XSS是指攻击者将恶意代码插入网页。当用户浏览页面时,代码就会被执行,从而达到攻击的目的。cookie数据窃取、会话劫持、网络钓鱼和欺骗等各种攻击可能会针对受害用户。XSS跨站脚本攻击分为:反射型(非持久型XSS)和持久型反射型XSS:用户点击攻击链接,服务器解析响应,返回的响应内容中出现攻击者的XSS代码,并由攻击者执行浏览器。这样XSS攻击脚本被Web服务器反射回来,由浏览器执行,所以称为反射型XSS正常链接。点击后会在http://xxx.com?username=yang页面显示hellousername,如果我把上面的url改成这个,页面会输出helloyang,服务器不过滤http://xxx。com?username=页面会出现弹框,显示xss;可以在上面的脚本中添加其他更复杂的脚本。持久型XSS:攻击者在相关页面输入恶意脚本数据后,恶意脚本会被存储在服务器的数据库中。当用户浏览页面时,会从数据库中查询数据,将数据显示在页面上会导致恶意脚本在页面上执行,浏览此页面的用户可能会受到攻击。这个过程可以简单描述为:恶意用户的Html输入web程序->进入数据库->web程序->用户浏览器。例如:恶意用户H提交一条评论,然后用户B访问网站,这个脚本会直接在B的浏览器中执行,恶意用户H的脚本可以在B不知情的情况下任意操纵B的cookie。有了cookies,恶意用户H就可以伪造B的登录信息,随意获取B的隐私。而B一直被蒙在鼓里。DOM-basedXSS即基于DOM的XSS,即web服务器不参与,只涉及浏览器XSS。例如,一个DOM节点是根据用户的输入动态构建的。如果不对用户的输入进行过滤,也可能导致XSS攻击。XSS防御XSS产生的原因是用户输入时没有严格过滤,内容输出到浏览器页面时没有检查、传递、替换。使用XSSFilter输入过滤,有效处理用户提交的数据。验证,只接受指定长度范围内且符合我们预期格式的内容提交,并阻止或忽略任何其他数据。DOM型XSS型防御:在向页面输出变量时,必须做相关的编码和转义工作。如果输出到块内容、内联事件、内联样式。通过HTML的标签。参考http://www.imooc.com/article/...