/文章作者:Kali_MG1937

CSDN博客号:ALDYS4

QQ:3496925334
/

今天google找注入点的时候发现某企业一个挺有意思的waf

常规操作绕过去后决定写一篇博客

信息收集

如果有看我前两期绕过waf系列

应该能知道前两期的网站环境均为iis+asp

这种环境下的查询支持非标准Unicode编码

如%u0027,%u003d

这样的编码形式,一些waf并不拦截这些非标准Unicode

更重要的是,它允许网址中夹带无用的百分号%

此环境下的数据库在查询时会自动忽略无用的%

那么利用%对关键字进行截断就很有用,可以看到前两期我基本上用的这种方法过的waf

但这回不一样,php环境,不再是asp环境

也就是说,网站不再支持非标准Unicode编码

这也就给渗透增加了难度和新的挑战

确定注入点

网站新闻页面的url带参数,尝试注入

GET 结果
?id=1 and 1=1 被拦截,WAF:WTS-WAF

挺常见的waf

替换等号为like

?id=1 and 1 like 1 不拦截,成功查询



那么确定参数是int型

尝试绕过

既然有waf,那么它一定会拦截一些连接数据库的操作

尝试

GET 结果
?id=1 union select 1 果不其然,被拦截



试试看大小写混淆

GET 结果
?id=1 unioN selEct 1 仍然被拦截



利用换行符替换空格

GET 结果
?id=1%0aunion%0aselect%0a1 仍然被拦截

随便输入一个包含union select的字符串



也被拦截

那么我猜想,网站应该有个正则表达式对整行语句进行判断

若关键字select前带有union,直接拦截

若是asp环境,我可以直接利用%进行截断关键字来绕过waf

但现在要另外想办法了

网站对整行语句进行判断,如果我的查询语句是一段段分开的呢?

也就是说,利用两个连续的 “--” 符号注释关键词后的这一行,换行后再输入下一个关键词

GET 结果
?id=1--%0aunion--%0aselect--%0a1 不拦截,被查询



果不其然

此外,该waf会对 关键字+括号 进行拦截



经测试在括号前利用 %0a-- 截断就能绕过

构造payload

修改space2comment的脚本



顺便再自己构造一条payload来替换括号



带入sqlmap







你把你?给我交喽

提权

拿到账号密码后登入后台





站长大概是觉得有个waf就万事无忧了

没有对上传的文件进行任何判断





裤子脱完本以为有条内裤,结果是个骚货,直接菊花就对着我,那我肯定要用我的马子插进来的

【渗透实战】sqlmap_修改tamper脚本_绕过WAF_第三期的更多相关文章

  1. 关于sqlmap当中tamper脚本编码绕过原理的一些总结(学习python没多久有些地方肯定理解有些小问题)

    sqlmap中tamper脚本分析编写 置十对一些编码实现的脚本,很多sqlmap里面需要引用的无法实现,所以有一部分例如keywords就只写写了几个引用了一下,其实这里很多脚本运用是可以绕过安全狗 ...

  2. 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网

    /文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...

  3. 【渗透实战】那些奇葩的WAF_第二期_无意发现通杀漏洞,空字节突破上传!

    /文章作者:Kali_MG1937 CSDN博客号:ALDYS4 QQ:3496925334 未经许可,禁止转载/ 该博文为本人18年左右的渗透记录,文法粗糙,技术含量极低,流水账文章,且今日不知为何 ...

  4. 使用sqlmap中tamper脚本绕过waf

    使用sqlmap中tamper脚本绕过waf 刘海哥 · 2015/02/02 11:26 0x00 背景 sqlmap中的tamper脚本来对目标进行更高效的攻击. 由于乌云知识库少了sqlmap- ...

  5. sqlmap中tamper脚本绕过waf

    0x00 背景 sqlmap中的tamper脚本来对目标进行更高效的攻击. 由于乌云知识库少了sqlmap-tamper 收集一下,方便学习. 根据sqlmap中的tamper脚本可以学习过绕过一些技 ...

  6. 使用sqlmap中的tamper脚本绕过waf

    使用sqlmap中tamper脚本绕过waf 脚本名:0x2char.py 作用:用UTF-8全角对应字符替换撇号字符 作用:用等价的CONCAT(CHAR(),...)对应替换每个(MySQL)0x ...

  7. 【奇淫巧技】sqlmap绕过过滤的tamper脚本分类汇总

    sqlmap绕过过滤的tamper脚本分类汇总

  8. sqlmap tamper脚本备忘录与tamper脚本编写

    查看sqlmap全部脚本 $ python sqlmap.py --list-tampers 使用方法 --tamper=TAMPER 2019.9更新后翻译 * apostrophemask.py- ...

  9. sqlmap tamper脚本

    本文来自:SQLmap tamper脚本注释, 更新了一些脚本,<<不断更新中>> 目前已经总共有50+的脚本,故对源文章进行更新... sqlmap-master ls -l ...

随机推荐

  1. 将HTML字符串编译为虚拟DOM对象的基础实现

    本文所有代码均保存在HouyunCheng / mini-2vdom 虚拟DOM只是实现MVVM的一种方案,或者说是视图更新的一种策略,是实现最小化更新的diff算法的操作对象. 创建扫描器 所有编译 ...

  2. @ResponseBody、@RequestBody

    @ResponseBody 我们在刚刚接触Springboot的第一个hello工程的时候,我们就接触了一个RestController,而通过进入它的源码,我们会发现@ResponseBody @R ...

  3. Redis中几种数据类型的基本操作指令

    Redis基本指令 单线程+多路IO复用技术 1. Key 指令 作用 keys * 查看当前库所有键 exists <key> 判断此键是否存在 type <key> 查看键 ...

  4. Java枚举类、注解和反射

    本文主要介绍的是枚举类,注解和反射.还有一些基础知识:static,基本数据类型,运算符优先级放在文中,以便查阅复习. 其中牵扯到泛型的部分,可参考本人的另一篇博客:(Collection, List ...

  5. 初步了解web

    ------------------------1.Web应用程序的main方法在哪里------------------------Tomcat:从启动到运行首先,我们是通过执行 Tomcat 的s ...

  6. (一)RabbitMQ安装与基本配置

    [博主使用的环境是阿里云ecs服务器,操作系统为centos] 安装erlang环境 RabbitMQ底层是Erlang语言,因此要先安装erlang环境,就像你要运行Java程序就必须先安装JRE/ ...

  7. CVE-2020-1350 详解与复现

    # 漏洞简介 在Windows上,DNS服务器是域控制器,其管理员是Domain Admins组的一部分.默认情况下,Domain Admins组是已加入域的所有计算机上Administrators组 ...

  8. 重新整理 .net core 实践篇————依赖注入应用[二]

    前言 这里介绍一下.net core的依赖注入框架,其中其代码原理在我的另一个整理<<重新整理 1400篇>>中已经写了,故而专门整理应用这一块. 以下只是个人整理,如有问题, ...

  9. 《SystemVerilog验证-测试平台编写指南》学习 - 第3章 过程语句和子程序

    <SystemVerilog验证-测试平台编写指南>学习 - 第3章 过程语句和子程序 3.1 过程语句 3.2 任务.函数以及void函数 3.3 任务和函数概述 3.4 子程序参数 3 ...

  10. 1.4 重置root用户密码

    图1-45  系统的欢迎界面 1.4 重置root用户密码 平日里让运维人员头疼的事情已经很多了,因此偶尔把Linux系统的密码忘记了并不用慌,只需简单几步就可以完成密码的重置工作.但是,如果您是第一 ...