beebox靶场A3 中等级别 xss通关教程

特别注意,低级和中级的差别在于中级使用了一些函数进行了过滤或转义字符

例如 addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

  • 单引号(')
  • 双引号(")
  • 反斜杠(\)
  • NULL

**提示:**该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。

预定义的字符是:

  • & (和号)成为 &
  • " (双引号)成为 "
  • ' (单引号)成为 '
  • < (小于)成为 <
  • > (大于)成为 >

提示: 如需把特殊的 HTML 实体转换回字符,请使用 htmlspecialchars_decode() 函数。

str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。

该函数必须遵循下列规则:

  • 如果搜索的字符串是数组,那么它将返回数组。
  • 如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。
  • 如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
  • 如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。

注释: 该函数区分大小写。请使用 str_ireplace() 函数执行不区分大小写的搜索。

一:xss反射 get post

过滤规则为 xss_check_4==addslashes()===

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

  • 单引号(')
  • 双引号(")
  • 反斜杠(\)
  • NULL

**提示:**该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

所以在中等级别,引号被过滤掉了,那这样的话我们简单测试

输入<script>alert(55)</script> xss页面还是能出来的

get 和post 的绕过思路都是一样的,只是post在url上面不显示,看的话需要进行抓包

二:XSS - 反射 (ajax/JSON)

AJAX 这个词第一次正式提出,它是 Asynchronous JavaScript and XML 的缩写,指的是通过 JavaScript 的异步通信,从服务器获取 XML 文档从中提取数据,再更新当前网页的对应部分,而不用刷新整个网 页。后来,AJAX 这个词就成为 JavaScript 脚本发起 HTTP 通信的代名词,也就是说,只要用脚本发起通 信,就可以叫做 AJAX 通信。

xss user-agent

题目为user-agent 查看源码为addslashes() 函数过滤,

定义

addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。

预定义字符是:

  • 单引号(')
  • 双引号(")
  • 反斜杠(\)
  • NULL

**提示:**该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串

开启抓包拦截,构造代码在user -agent 后面写入<script>alert(55)</script>

查看源码为

html实体编码加上ENT_QUOTES模式,无法实现绕过进行xss攻击

四:XSS - Stored (Change Secret)

查看源码为

可以实现绕过前端,我们在界面输入<script>alert(55)</script> 发现输入成功

但当我们再去登录时发现另外的函数过滤

查看源码换新了,在重新登陆时又把< 和> 进行了转码,导致xss执行不成功

五:XSS - Stored (Blog)

在页面简单测试 输入<script>alert(55)</script> 页面弹出xss弹框

六:XSS - Reflected (Referer)

用bp抓包,在referer后输入xss代码就可以输出

相关推荐
秋田君38 分钟前
构建安全的Vue前后端分离架构:利用长Token与短Token实现单点登录(SSO)策略
前端·javascript·vue.js·elementui·前端框架·mock·sso单点登录客户端
GISer_Jing1 小时前
Canvas &SVG &BpmnJS编辑器中Canvas与SVG职能详解
前端·javascript·编辑器
2402_881319301 小时前
web开发全过程总结
前端·javascript·vue.js
一峰说1 小时前
power BI 倒计时+插件HTML Content,实现更新倒计时看板!
前端·html
2301_816169611 小时前
vue路由小案例
前端·javascript·vue.js
colourmind1 小时前
vue3前端后端地址可配置方案
前端·javascript·vue.js
Tiffany_Ho1 小时前
你引入的lodash充分利用了吗?
前端·javascript·vue.js
喵酱睡着了1 小时前
CSS 单位详解:px、rem、em、vw/vh 的区别与使用场景
前端·css
sunbyte1 小时前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Rotating Navigation (旋转导航)
前端·javascript·css·vue.js·tailwindcss
开开心心就好2 小时前
全能视频处理工具介绍说明
前端·python·pdf·ocr·音视频·tornado·dash