首页 > 其他分享 >DVWA 之 XSS(Stored) - 存储型XSS

DVWA 之 XSS(Stored) - 存储型XSS

时间:2023-03-05 16:36:56浏览次数:34  
标签:XSS 存储 name 字符 代码 DVWA Stored string

XSS(Stored) - 存储型XSS

原理

存储型 XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方。

如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发执行代码,这种 XSS 比较危险,容易造成蠕虫,盗窃 cookie 等。

1. Low

Low 级别源码中相关函数介绍

trim(string, charlist)
函数移除字符串两侧的空白字符或其他预定义字符,可选参数 charlist 支持添加额外需要删除的字符,如果被省略,则移除以下所有字符
"\0"-NULL "\t"-制表符 "\n"-换行	"\x0B"-垂直制表符 "\r"-回车 " "-空格

mysql_real_escape_string(string, connection)
函数会对字符串中的特殊符号(\x00,\n,\r,\,',",\x1a)进行转义

stripslashes(string)
删除字符串中的反斜杠

漏洞利用

Low 级别的代码对输入的 message 和name 没有做 XSS 方面的过滤与检查,且存储在数据库中,因此存在明显的存储型 XSS 漏洞

输入 1 和 <script>alert('xss')</script>,代码成功执行

2. Medium

strip_tags():剥去字符串中的 HTML、XML、以及 PHP 的标签
addslashes():在预定义字符(单引号、双引号、反斜杠、NULL)之前添加反斜杠的字符串
htmlspecialchars():把预定义的字符转换为 HTML 实体

Medium 级别的代码对 message 参数使用了 htmlspecialchars() 函数进行编码,因此无法通过 message 参数注入 XSS 代码,但是对于 name 参数,只是简单过滤了 <script>,可以使用大写或者双写绕过

漏洞利用

  • 大写绕过:抓包,将 name 参数值改为 <SCRIPT>alert('xss')</SCRIPT>
  • 双写绕过:抓包,将 name 参数值改为 <sc<script>ript>alert('xss')</script>

3. High

High 级别的代码使用正则表达式过滤了 <script> 标签,但是却忽略了 img、iframe 等其他危险的标签,因此 name 参数依旧存在存储型 XSS

漏洞利用

抓包,将 name 参数值改为 <img src=1 one rror=alert('xss')>,成功执行

防护方法

  1. HttpOnly 属性
  2. 输入检查,检查特殊字符,XSS 特征等
  3. 输出检查,对输出进行编码

标签:XSS,存储,name,字符,代码,DVWA,Stored,string
From: https://www.cnblogs.com/augustine0654/p/17180840.html

相关文章

  • DVWA 之 CSP Bypass - 浏览器内容安全策略绕过
    十一、CSPBypass-浏览器内容安全策略绕过原理HTTP返回报文头中的标签,浏览器会根据标签中的内容,判断哪些资源可以加载或执行。为了缓解潜在的跨站脚本问题,浏览器的扩......
  • DVWA 之 JavaScript - JavaScript攻击
    十二、JavaScript-JavaScript攻击原理在页面上输入的内容中带有可执行的javascript,而使用这段输入内容的时候,让这段用户提供的代码执行了,也就是你写的代码执行了非你......
  • DVWA 之 Weak Session IDs - 弱会话IDs
    十三、WeakSessionIDs-弱会话IDs原理用户登录后,在服务器就会创建一个会话(Session),叫做会话控制,接着访问页面的时候就不用登录,只需要携带Session去访问。SessionID......
  • DVWA 之 XSS(Reflected) - 反射型XSS
    九、XSS(Reflected)-反射型XSS原理XSS,全称CrossSiteScripting,即跨站脚本攻击,某种意义上也是一种注入攻击,指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,......
  • 修复 Ubuntu 中的 “Key is stored in legacy trusted.gpg keyring” 问题
    正如我之前所说,这是一个警告信息,目前可以忽略。解决这个问题的责任在于外部软件开发者和Ubuntu开发者。如果你在Ubuntu22.04及以后的版本中使用PPA或添加外......
  • DVWA之File Inclusion
    1.本地文件包含漏洞:仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些固定的系统配置文件,从而读取系统敏......
  • DVWA 之 File Upload-文件上传
    五、FileUpload-文件上传文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞......
  • DVWA 之 Insecure CAPTCHA-不安全的验证
    六、InsecureCAPTCHA-不安全的验证原理InsecureCAPTCHA意思是不安全的验证码,CAPTCHA是CompletelyAutomatedPublicTuringTesttoTellComputersandHumansApa......
  • DVWA 之 SQL Injection-SQL注入
    七、SQLInjection-SQL注入原理SQL注入是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到恶意执行SQL语句的目的。手工注入常规思路判断是否存在注入,注......
  • DVWA 之 SQL Injection(Blind) - SQL注入(盲注)
    八、SQLInjection(Blind)-SQL注入(盲注)原理SQL盲注与一般注入的区别在于一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常无法从显示页面......