安全狗 {safedog} 最新版注入bypass
时间:2022-07-22
本文章向大家介绍安全狗 {safedog} 最新版注入bypass,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
登陆 BUGFOR.COM 查看更多骚操作。注册即可抽奖黑客硬件
0X00 前言
版本: 4.0.26550 直接官方下载 最新版本
当前日期: 5-12日
本机系统: Windows
环境: PHPStudy 、套件 Apache + MySQL5.7.26
靶场下载链接:
https://pan.baidu.com/s/1QdqaDhZvio2KCQ3Uz3IVeA
提取码:rdhn
本文由“壹伴编辑器”提供技术支持
bypass 差不多就是根据各层特性来绕过安全狗的正则匹配
0X01 检测注入
- and 1=1 会被拦截
- 而 1=1 不会拦截 他这里基于正则 如果url里有and 1=1 就会被拦截
- 所以 这里利用了Mysql 的特性 利用浮点数 来绕过
id=2.0and 1=1
- 这样safedog 就检测不出前面的and
- 当然 有同学就会说了 这没有单引号包裹 是数字型注入 比较好绕 确实是这样
- 1<0 因为1不可能等于0 逻辑错误 下面数据就不会出现 就可以检测是否存在注入
- 我这里升级下改为输入的内容被单引号包裹着 前面的两种方式就凉凉 这是根据 mysql 的特性
- 不过我们可以改变 and 用 “&” (或着)代替 然后加上用浏览器自动解码的特性 将 & 变为 %26
Payload为:
1'%26 1='1 为真 返回正确页面1'%26 1='2 为假 返回错误页面
0x02 猜字段数
- 我们看一下正常的
- 会被拦截,然后我们在里面随意加个字符发现 正则是匹配 order by 的 中间随意加了个字符就不会匹配成功,这样我们就有思路了:
- 利用 MySQL 的 特性 注入+换行写 来绕过正则匹配 -- -a%0a
- 原理就是 -- - 是mysql的注释符 然后加上%0a 换行了 等于下图
0X03 联合查询
- 可以看到 正常会被拦截
- 我们修改字符 并不会被拦截
- 正则就是匹配 union +select 的组合 利用刚才说的-- -a+换行%0a 来绕过 可以发现没有 出错
- 然然后笔者发现 user() 会被拦截 利用 mysql 的特性 用内联/*!*/来绕过正则然后我们需要查询数据
- 发现会被拦截 经过我的测试 他和上面一样 from 后面不能接正确的表名 不然会被拦截
利用-- -a + 换行绕过
Payload:
-- -a%0aselect 1,2,3,11,5 from -- -a%0atest limit 1,1-- -a
(如果需要的话 请务必将列名改成mysql默认的 然后 后面的表名改成默认的)
该文章已经发布到 BUGFOR.COM
0X04 该文章已经发布到 BUGFOR.COM
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Mono for Android 实现高效的导航
- MyBatis版本升级导致OffsetDateTime入参解析异常问题复盘
- elasticSearch学习(二)
- 146. LRU缓存机制 Krains 2020-08-05 12:50:28 链表
- 337. 打家劫舍 III Krains 2020-08-05 10:18:45 动态规划
- 58道Vue常见面试题集锦,涵盖入门到精通,自测 Vue 掌握程度
- 记一次Linux计划任务cron无结果的排查过程
- 一文学会使用 CSS 中的 min(), max(), clamp() 以及它们的使用场景用例
- 5 个 JS 数组技巧可提高你的开发技能
- 一个有意思的方案:不借助后台和 JS ,只用 CSS 让一个列表编号倒序,你会怎么做?
- 关于MySQL LOAD DATA特性的利用与思考
- NHibernate 缓存
- 渗透测试 | 突破前端JS加密限制
- 使用 Task 简化异步编程
- Task 编程中的异常处理