用户
搜索

该用户从未签到

超级版主

joke

Rank: 8Rank: 8

43

主题

333

帖子

368

魔法币
收听
0
粉丝
11
注册时间
2017-3-11

春秋文阁i春秋签约作者春秋游侠秦楚燕魏齐赵白帽传说

发表于 2017-7-24 17:13:18 27686
本文由Armyzer0投稿发布,转载请注明出处


0x01什什么是通防
   通防在ctf线下赛中是经常使用到的技术,对于不不同的比赛,防止在前期刚刚开题的时候失分很重要的就是使用通防。许多的主办方check都会对通防进行行check,一个好的通防,可以很好的避免主办方check出来,同时可以拦截一部分的流量量。

0x02 web通防
   web的通防有许多种,基础的有输入拦截,对get,post等等的参数输入进行行拦截,过滤敏敏感的关键词等。。。更更高级的有转发,将访问的返回值进行行审查,匹配本地的flag文件,如果内容一样,说明攻击成功,替换flag的内容或者直接exit()。但是不不管是哪一种,很重要的一个点就是记录其他用户的payload。
QQ图片20170724170757.png

   这里里给出的是批量量对输入参数拦截的代码,只要填充每种传入参数方式的过滤规则即可,同时hacker()函数是拦截攻击后的处理理函数,可以按照自己的需求编写。 这里里给出我的对于攻击的处理理函数:
2.png

适当的输出内容也是对其他选手的一个调戏吧2333333
对于流量量的记录,一般是写到文件中也可以写入到数据库中,这个看具体的需求和具体环境提供的权限。
3.png

   这是我对于日志记录的处理理方法,同时还提供了了日志阅读的功能,可以很方便便的通过web访问日志。当然,直接vi查看也是可以的。这样子就完成了了基础的访问参数拦截和记录的一个waf。

   那么对于高级的转发要怎么写呢?大概的代码就是这样,先进行行一次请求,然后再次将请求,对返回进行行过滤,然后返回给用户。

   现在的主办方线下赛也越来越多的用现成的cms了了,对于这中,很多选手会直接上扫描器器,或者有一些萌新在写自动化脚本的时候会经常忘了了写ua等等,我们该如何应对呢?
4.png
7.png


这里给出我的致思路路,就是对header进行行审查。

来啊~快活啊~
路过学习
使用道具 举报 回复
谢谢分享,请问这个字:⼤怎么念
使用道具 举报 回复
发新帖
您需要登录后才可以回帖 登录 | 立即注册