• 售前

  • 售后

热门帖子
入门百科

XSS跨站脚本攻击——初理解

[复制链接]
万象争辉1 显示全部楼层 发表于 2022-1-15 10:38:23 |阅读模式 打印 上一主题 下一主题
XSS跨站脚本原理:

​ 跨站脚本攻击XSS(Cross Site Scripting),为了不和HTML中的层叠样式表(CSS)缩写混淆,所以将跨站脚本攻击缩写为XSS。恶意攻击者往WEB页面插入恶意Script代码,当用户浏览该页面时,嵌入WEB页面的Script代码被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击!
XSS分类:



  • 存储型XSS:持续型,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或者过滤不严,那么代码将被存储到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie。
  • 反射型XSS:非持续型,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中这样没有这样的页面和内容),一般容易出现搜索页面。反射型XSS大多数用户Cookie信息。
  • DOM型XSS:不经过后端,DOM型-XSS漏洞是通过url传入参数去控制触发的,其实也属于XSS


XSS常用测试语句有:

  1. <code><script>alert(1)</script>
  2. <img src=x onerror=alert(1)>
  3. <svg onload=alert(1)>
  4. <a href=javascript:alert(1)>
复制代码
XSS漏洞的挖掘:

黑盒测试:(尽可能的找到一切用户可控并且能够输出在页面代码中的地方)


  • URL的每一个参数
  • URL本身
  • 表单
  • 搜索框
常见的XSS跨站脚本业务场景:


  • 重灾区:评论区、留言区、个人信息、订单信息等
  • 针对性:站内信、网页及时通讯、私信意见反馈等
  • 存在风险:搜索框、当前目录、图片属性等
白盒测试(代码审计):
​ 关于XSS的代码审计主要是从接收参数的地方和一些关键词入手。
​ PHP中常见的接收参数的方式有$_GET、$_POST、$_REQUEST等等,可以搜索所有接收参数的地方。然后对接收到的数据进行跟踪,看看有没有输出到页面中,然后看输出到页面中的数据是否进行了过滤和html编码等处理。
​ 也可以搜索类似echo这样的输出语句,跟踪输出的变量是从哪里来的,我们是否能控制,如果从数据库中取的,是否能控制存到数据库中的数据,存到数据库之前有没有进行过滤等等。
​ 大多数程序会对接收参数封装在公共文件的函数中统一调用,我们就需要审计这些公共函数看有没有过滤,能否绕过等等。
​ 同理审计DOM型注入可以搜索一些JS操作DOM元素的关键词进行审计。
XSS的危害:


防护阻止XSS攻击:

因为XSS漏洞涉及输入和输出俩部分,所以其修复也分为两种:


  • 过滤输入的数据,包括单引号,双引号,等非法字符
  • 对输出到页面的数据进行相应的编码转换,包括HTML实体编码,JS编码等
  • 使用HTTP Only属性保护重要cookie
什么是HTTP Only:
​ 很多xss攻击都是来盗用cookie的。
​ 如果cookie中设置了HTTP Only属性,那么通过JS脚本将无法读取cookie信息,这样就能有效防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性。
ly属性,那么通过JS脚本将无法读取cookie信息,这样就能有效防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性。
参考链接:
XSS(跨站脚本攻击)详解

来源:https://blog.caogenba.net/weixin_45996361/article/details/122484748
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作