网站首页 > 知识剖析 正文
8.1 Low 级别存储型 XSS 攻击实战
安全级别设置为 Low,点击 XSS (Stored),进入存储型 XSS 攻击页面。发现该页面是个留言板,随意输入留言内容,可以直接显示在当前页面,如图 8-1
尝试在 Message 框提交弹窗脚本输出当前 cookie,<script>alert(document.cookie)</script> ,可以直接弹窗,如图 8-2。说明当前级别没有对攻击脚本做任何过滤和转义
8.2 Medium 级别存储型 XSS 攻击实战
安全级别设置为 Medium,进入存储型 XSS 攻击页面,直接在 Message 框提交输出 cookie 脚本,发现脚本内容被显示,说明脚本被转义,如图 8-3
2.查看页面源码,发现对 Message 框提交的内容使用了 htmlspecialchars 函数,Message 框的 XSS 基本已不可能;但是我们发现对 Name 框提交的内容只是简单的使用 str_replace 函数进行了简单替换,与 Medium 反射型 XSS 一样,如图 8-4。我们只需要更换大写字母,或者 <script> 中再嵌套一层 <script> 即可绕过防御
- 在 Message 框随意输入内容, Name 框输入脚本 <script>alert(document.cookie)</script>,发现脚本无法完整输入,页面对 Name 框的字符长度进行了前端限制,如图 8-5
- 由于只是在浏览器前端进行的字符长度限制,我们只需要在 Burpsuite 中修改数据包就可以轻松绕过限制。配置好 Burpsuite 和浏览器的代理,抓包后,修改 txtName 变量的值为脚本 <scr<script>ipt>alert(document.cookie)</script>(也可以把 script 转换为大写),如图 8-6。放行数据包后,可以成功提交,并弹窗输出 cookie,如图 8-7
8.3 High 级别存储型 XSS 攻击实战
设置安全级别为 High,进入存储型 XSS 攻击页面,查看页面源码,发现 Message 字段仍然使用了 htmlspecialchars 函数;而 Name 字段使用了与 High 级别反射型 XSS 攻击一样的防护方法,使用 preg_replace 函数调用正则表达式对 script 做逐字匹配,并使用 /i 来不区分大小写,如图 8-8
猜你喜欢
- 2024-11-11 详解如何防止SQL注入:应对方案与优缺点分析
- 2024-11-11 XSS注入我也不怕不怕啦--PHP从框架层面屏蔽XSS的思考和实践
- 2024-11-11 挖0day漏洞原来如此简单,我的黑客朋友手把手教你
- 2024-11-11 php用soap调用接口实例,返回值没有见到xml
- 2024-11-11 备战金九银十,2020最新大厂PHP面试题(附答案)
- 2024-11-11 dede后台发布文章的时候显示标题不能为空?
- 2024-11-11 PHP漏洞之-Session劫持 php session机制
- 2024-11-11 php特殊字符处理 php 特殊字符自动转义
- 2024-11-11 Java面试260题(2020年版,3-5年面试题重点突破)(二)
- 2024-11-11 2020最新大厂PHP面试题(附答案) php面试官应该问些什么
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)