网络安全零基础入门(第十章-5)Bypass-绕过Waf(上)

  • 每日一句:一定要在授权的范围内进行测试
  • 本篇内容:什么是bypass
         Waf检测机制
         常见绕Waf手法

一、什么是bypass

1、安装安全狗
	
	没啥说的,直接百度安全狗,下载安装

	注意的是:安装狗的时候,PHP study运行模式一定要跳到“系统服务”

2、什么是Waf
	WAF是一个缩写,他的全名叫做Web应用防护系统(Web Application
	Firewall),是通过通过执行一系列针对HTTP/HTTPS的安全策略来
	专门为Web应用提供保护的一款产品。
	
	在互联网快速发展的今天,网站安全问题屡见不鲜,
	于是乎WAF类产品开始走红。
3、Waf分类
	~硬件Waf
		较贵,这样的网站,尽量还是避免。除非拿到授权
	~软件Waf
		常见:安全狗、云锁、悬镜、护卫神、云盾
	
	Waf的核心就是正则匹配
	
4、Bypass是什么?
	Bypass他就是绕过的意思呀,我们渗透测试人员通过特殊语句的构建
	进行渗透测试,然后达到绕过WAF的手法

二、Waf检测机制

1、Dom型 XSS的绕过
	~原理就是Waf不会解码
		//Xss的常用编码是native

2、先了解的知识
	记住一句话,安全和客户体验都是需要平衡的,
	特别是对于WAF而言,你想想,用了WAF之后,然后网页动不动就拦截,
	比如我是用户,然后因为我用户名叫and然后我就被拉黑了,
	因为我不小心输了个'页面就出问题,这个当然不可以,
	
	所以WAF一般都是通用的,并不是单独定制的,既然是通用的,
	那么他在拦截上会比较谨慎,所以WAF的正则一般是搭配式的。

三、常见绕waf手段

1、and 与 1=1一般是拦截的
	~但是and  可以试试-1 = -1,若返回正常
	~接着在		试试-2 = -1	,若报错,则说明,这存在注入点

2、数据库的逻辑符号
	& 的作用和 and  就差不多
	我们可以试试 & 1=1或者& 1=2	//当然换成负数也行
	
	但是 “&” 在url中特殊的含义,所以服务器有时候会搞不清
	这个时候  我们只需要对 “&” 进行url编码

3、更简单的
	我们直接试试“+、-、*”等等运算符号
	一半“-”被执行,直接运行“*”
	
	比如:id=1*1	//看看返回是否正常,正常的话
		在id=1*0	//这个时候若返回异常,则这个页面基本存在sql注入
		
		或者试试id=1*2  与	id=2页面是否相等

4、绕waf的时候不要想着编码select等等,
	服务器怎么知道你是对select编码呢
	做什么事,你得有一定得道理
	
	编码绕过是waf是很少见的
	
5、mysql的内联注释
	~什么是内联注释?
		内联注释是MySQL为了保持与其他数据兼容,
		将MySQL中特有的语句放在/!...*/中,
		这些语句在不兼容的数据库中不执行,
		而在MySQL自身却能识别,执行。
		
		
		补充:
				/**/		数据库注释
					
				/*!/		内联注释	-->		这是可以运行的
				
				/*!50001*/	
		//表示数据库版本>=5.00.01时中间的语句才能被执行
		//所以有的版本被狗拦截,我们打开burp稍微爆破配合本地mysql
		//验证一下  直接会发现  漏网之鱼不是一般的多
		
	说明:Waf一般默认注释的东西是安全的,即很多东西不进行拦截
		
5+、内联注释可以套内联注释
	写入联合语句,被狗拦截,可以稍微减去点语句,看看是什么被拦截了
	
6、简单总结补充
	大小写绕过 (很老的WAF才有用)

	替换绕过 (很老的WAF才有用)【和上传文件那个pphphp一样】

	特殊字符绕过 (%0a换行)``

	编码绕过 (比如会多次解码的东西,例如我们DOM XSS绕狗那个)

	等价替换 (利用其它函数替代)[union #%0aselect 拦截][union all #%0aselect 不拦截]
		//需要一定的数据库功底

	容器特性(例如Apache的Hpp,或者是IIS的%分割)
		IIS的容器:
			s%e%l%e%c%t ==>  select
		apache容器:
			url id=1&id=2	//显示出id=2的内容,这类似覆盖的意思
			
			利用这一特性:
		url id=1/*&id=2 union select 1,2 from admin limit 1,1 %23*/
			//%23即#		这其实也算是参数污染
			
	白名单(管理员权限或者是127.0.0.1本地访问不拦截)
		可以X-Forwarded-For伪造IP,简称XFF,代表客户端的真实IP
		
	缓冲区	(数据太多了,超出了WAF检测的范围)
		简单说,Waf仅仅是个门卫,不敢随意丢弃你发送给服务器的数据
		但是数据太多,他也不能一一的检查完毕,所以仅仅检测开头的一些
		数据,对后边的数据直接放行
		
		至于多少数据会溢出,这得自己检测了:
		
		burp,抓包,在下边直接添加数据-->  
			id=2 /*很多字符*/ union select 1,2 from admin limit 1,1
			填充字符一般4000多长度就可以了
		
		对于get的方法,也可以在下边直接加数据,因为post传参的优先级
		比get要高在很多网页	//可以自己测试 get id=1,下边post id=2
		//看看返回界面是id=1,还是id=2
		
	注意:
		~在多说一下,并不是填充的越多越好,有的太多,数据库执行不了
		~get那传参长度是有限制的,所以。。。

四、总结

1、有很多同学有自己的想法

	建议自己去挨边的试试,有想法就去做
	下载一个win server 200x 的安装一个狗,自己多试
	
2、另外
	有些同学看到有的网站有狗,开始按照上边的方式去测试
	还说,IP被Ban了怎么办
	。。。。。。你们不会在自己的虚拟机上搭建狗,进行测试吗
	等测试成功了,就一条语句打出去,怎么会被Ban掉IP
	
	知识要活学活用~~~
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值