第三篇實戰(zhàn)

開源程序安全剖析

0day攻擊

一般是指沒有公開掀亩,沒有補丁的漏洞,也就是未公開的漏洞捉蚤。

挖掘Oday的方式一般有兩種:源代碼審計(白盒測試)和模糊滲透測試(黑盒測試)炼七。

一些常見的源代碼審計工具有Source Navigator、Fortify SCA陕悬、CheckMarx按傅、 CodeScan、Skavenger等逞敷,到目前為止并沒有一款全自動的源碼審計工具,全部都是半自動的裂问,也就是必須要人工參與牛柒。工具做的只不過是查找些危險函 數(shù)等,需要根據(jù)危險列表加以分析椭更,而這些危險列表的80%都是誤報蛾魄,得靠經(jīng)驗一一排除湿滓。

網(wǎng)站后臺安全

導(dǎo)致后臺脆弱原因

1.模板

2.文件管理

3.執(zhí)行sql語句:使用SQL導(dǎo)出一句話木馬舌狗,關(guān)鍵是看數(shù)據(jù)庫匾鸥,而與腳本無關(guān)脊僚。不同的數(shù)據(jù)庫導(dǎo)出Shell 的語句也不同

(1)Access 導(dǎo)出Shell只能配合IIS 6的解析漏洞,如果導(dǎo)出ASP格式厂抽,將會提示“不能更新君丁,數(shù)據(jù)庫或?qū)ο鬄橹蛔x”。

(2) SQL Server? 并沒有提供直接導(dǎo)出數(shù)據(jù)的語句谈截,但通過Xp_ _cmdShell 也能達到類似的功能涧偷,xp_ cmshell過程添加系統(tǒng)用戶

(3)Oracle

4.網(wǎng)站備份

MD5

在保存密碼到數(shù)據(jù)的時候不使用明文燎潮,一般會采用 MD5加密后再存儲。

破解方法:(1)彩虹表破解

彩虹表(Rainbow Table)是一個龐大的确封、針對各種可能的字母組合預(yù)先計算好的哈希值的集合。彩虹表不僅針對MD5算法颜曾,主流的算法都有對應(yīng)的彩虹表秉剑。利用它可以快速破解各類密碼。越是復(fù)雜的密碼诡曙,需要的彩虹表就越大略水,現(xiàn)在主流的彩虹表都是1TB以上的。

獲取方法:(1)在網(wǎng)上下載已經(jīng)有的彩虹表慎璧。網(wǎng)上有很多彩虹表,可根據(jù)破解的密文類型下載相應(yīng)的彩虹表胸私,大型的彩虹表都是以太字節(jié)(TB)為單位的; .

(2)使用工具生成彩虹表盖文。使用工具可以生成對應(yīng)加密算法的彩虹表,但生成速度較慢五续。常見的彩虹表生成工具有RainbowCrack、Cain 等凶伙。

配制信息:Hash:選擇要生成彩虹表中的種類它碎,也就是彩虹表的分類,Cain幾乎支持所有主流的加密算法的彩虹表生成傻挂;MinLen: 最小位數(shù)挖息,也就是明文密碼的最低位數(shù);MaxLen: 最大位數(shù)绪抛,也就是明文密碼的最高位數(shù)电禀。其他選項如Chain Len、Chain Count, N° of tables是控制所生成表破解成功的概率症副,軟件下方將會顯示當(dāng)前生成模式的破解率葫松。表分割得越細(xì),成功率就越大咕娄,生成的體積也越大珊擂,所需要的時間也越長费变。

破解:Rainbowcrack圣贸、 Cain 等工具。使用Rainbowcrack破解MD5非常簡單滑负,只需要以下一條命令即可用含。rcrack.exe -h密文彩虹表目錄

(2)專業(yè)的MD5破解站點

常見破解站點


拖庫

支持外連接

ASP.NET的數(shù)據(jù)庫配置信息一般保存在web.config文件中啄骇,一個網(wǎng)站可能會有多個confg文件,數(shù)據(jù)庫配置信息可能就在其中一個文件內(nèi)缸夹。

PHP數(shù)據(jù)庫配置信息一般都會保存在inc、db橡类、fun等目錄的config.php趟妥、conn.php、 web.php源碼文件中。而PHP源碼通常是未加密的勇凭,可以通過與數(shù)據(jù)庫交互的頁面快速找到數(shù)據(jù)庫連接信息虾标。

JSP經(jīng)常改動的信息一般都會 保存在文本文件中。這個文件主要分為兩種類型: Properties 文件(屬性文件, 一般以Properties為擴展名)與XML文件傀蚌,其保存位置一般是在/WEB-INF/文件夾中蘸吓。使用框架技術(shù)之后,其位置也可能隨之變化库继,但一般數(shù)據(jù)庫配置信息都保存在XML文件中。

Navicat 是-款強大的數(shù)據(jù)庫操作軟件艺谆,它分為很多版本,比如, Navicat for MySQL專門針對MySQL數(shù)據(jù)庫進行操作; Navicat for Oracle專門針對Oracle數(shù)據(jù)庫操作琅催,更強大的是Navicat Premium版本,支持在MySQL虫给、Oracle、PostgreSQL. sQLite及SQLServer之間傳輸數(shù)據(jù)杰捂,是各種版本的集合棋蚌。

Navicat適用于三種平臺: Microsoft Windows. Mac OS X和Linux。它可以讓用戶連接到本機或遠(yuǎn)程服務(wù)器蒿往,提供一些實用的數(shù)據(jù)庫工具(如數(shù)據(jù)模型湿弦、數(shù)據(jù)傳輸、數(shù)據(jù)同步蔬充、結(jié)構(gòu)同步班利、導(dǎo)入、導(dǎo)出庸队、備份闯割、還原、報表創(chuàng)建工具及計劃)來協(xié)助管理數(shù)據(jù)宾尚。

單擊“連接”→“SQL Server”鼓黔。在“常規(guī)"選項卡中不见,填寫數(shù)據(jù)庫的基本信息崔步,連接名任意填寫,在主機名/IP地址文本框內(nèi)輸入IP地址灶似,并在用戶名和密碼文本框內(nèi)填寫相應(yīng)的信息瑞你。

在“高級”選項卡中可以設(shè)置連接超時時間,SSH選項卡則是使用SSH通道連接春感,這兩個選項卡- -般默認(rèn)即可虏缸。

單擊“確定”按鈕后在左側(cè)將會顯示“atack”數(shù)據(jù)庫連接名稱,雙擊“atack”即可連接數(shù)據(jù)庫窥岩。

使用Navicat轉(zhuǎn)存數(shù)據(jù)可分為兩種方式:一種是導(dǎo)出表結(jié)構(gòu)宰缤,包括約束慨灭、驗證以及插入數(shù)據(jù)的SQL語句(表中的數(shù)據(jù)將以Insert 語句的方式展現(xiàn)),可以說是把整個表完全復(fù)制下來;另-種則是導(dǎo)出表中的數(shù)據(jù)缘挑,不需要表結(jié)構(gòu)信息语淘,是純數(shù)據(jù)际歼。

1.導(dǎo)出表結(jié)構(gòu)及數(shù)據(jù)

? ? ? 選中要導(dǎo)出的表,并單擊鼠標(biāo)右鍵吕粗,選擇“轉(zhuǎn)儲SQL文件”旭愧,這時宙暇,Navicat 將會提示你的文件導(dǎo)出后的保存位置议泵,設(shè)置好導(dǎo)出文件的保存位置后,單擊“保存”按鈕型奥,即可導(dǎo)出表結(jié)構(gòu)及數(shù)據(jù)碉京。

2.導(dǎo)出表數(shù)據(jù)

選擇要導(dǎo)出數(shù)據(jù)的表(可多選),并單擊鼠標(biāo)右鍵,選擇“導(dǎo)出向?qū)А碧淘幔瑢棾觥皩?dǎo)出向?qū)А睂υ捒蚍豺摺_x擇要導(dǎo)出的格式咽瓷,Navicat 提供了很多格式,最常用的有以下幾種茅姜。

TXT文本文件:不包含任何表結(jié)構(gòu)钻洒,只是純文本內(nèi)容:

HTML網(wǎng)頁文件:把數(shù)據(jù)以網(wǎng)頁形式展現(xiàn):

Excel表格:把數(shù)據(jù)以表格的形式展現(xiàn);

XML文件:把數(shù)據(jù)以XML形式展現(xiàn);

SQL文件:這個比較特殊,把數(shù)據(jù)以Insert的形式展現(xiàn)称诗。

不支持外連接

一.SQL注射

sqlmap? ?

--dump轉(zhuǎn)存數(shù)據(jù)

--csv-del: 導(dǎo)出CSV格式時头遭,列與列之間的間隔字符,默認(rèn)為空格:

--output-dir: 導(dǎo)出文件夾:

--dump-format: 導(dǎo)出格式袜香,默認(rèn)為CSV格式,可選擇的導(dǎo)出格式有CSV. HTML和SQLITE三種鲫惶。

--sql-query:執(zhí)行SQL語句,要執(zhí)行的SQL語句必須用雙引號引起來,以保證命令的完整性欢策。

burpsuite

在使用Burp Suite導(dǎo)出數(shù)據(jù)之前,首先要確定1.表結(jié)構(gòu);

2.導(dǎo)出數(shù)據(jù)條數(shù):

3.構(gòu)造好導(dǎo)出的SQL語句啄清。

導(dǎo)出數(shù)據(jù)時姑荷,一般都以ID為導(dǎo)出標(biāo)準(zhǔn),因為在一個數(shù)據(jù)表中添寺,一般會有[*id]作為表的唯一列標(biāo)識(主鍵)懈费,這是數(shù)據(jù)庫的三大范式之一.

導(dǎo)出數(shù)據(jù)

1.將URL載入到Burp Suite Intruder 模塊憎乙,并將uid的值設(shè)置為變量

2.設(shè)置PayLoads,把PayLoads類型設(shè)置為Numbers,并且從0開始,到數(shù)據(jù)條數(shù)最大值結(jié)束泞边,每次增長為l阵谚。也就是說,將遍歷所有的數(shù)據(jù)梢什,包括已經(jīng)刪除的數(shù)據(jù)

3.選擇抓取的數(shù)據(jù)嗡午,在“Option"→“Grep Extract” 模塊中單擊“add"按鈕,然后在彈出的新界面中選擇“Fetch Response”獲取返回信息荔睹。獲取返回信息后僻他,選取你要抓取的內(nèi)容,Burp Suite會根據(jù)選取的內(nèi)容自動生成正則表達式。

4.選擇“Intruder”→“Start attack",開始導(dǎo)出抓取數(shù)據(jù)

? ? ? 在抓取數(shù)據(jù)完畢后,選擇“Save”→“Results Table",保存導(dǎo)出數(shù)據(jù)的界面

? ? ? 保存數(shù)據(jù)時選擇“All Rows",表示保存所有的行翩瓜,“Delimiter” 代表列與列之間的分隔符携龟,默認(rèn)為“Tab” 制表符峡蟋,如果想自定義分隔符,可以使用“Custom”蕊蝗。

? ? ? “IneludeColumns"是重要的選項,可以勾選要保存的列蓬戚,選擇好相應(yīng)的信息后,單擊“Save”按鈕就可以保存提取出的數(shù)據(jù)豫喧。

取消空白行

主流數(shù)據(jù)庫常用的分頁語句如下(其中幢泼,I代表起始位置,N代表結(jié)束位置):

1.Postgre SQL

? ? ? select * from table limit I offset N孵班;

2.Oracle

? ? ? select t2.* from (select rownum r,t1.* from table t1 where rownum<N ) t2 where t2.r>I;

3.MySQL

? ? ? select * from table limit I ,N;

4.SQL Server

? ? ? select * from (select top I+N * from table) a where id not in(select top I id fromtable)

? ? ? SQL Server分頁的寫法有很多挥吵,這是其中最簡單的一種,效率較低房午,適用于小數(shù)據(jù)丹允。

二.越權(quán)訪問

三.本地導(dǎo)入

已有網(wǎng)站權(quán)限雕蔽,攻擊者就可以向Web 服務(wù)器上傳類似于“PHPMyAdmin"在線數(shù)據(jù)庫管理的“拖庫腳本”。這類腳本非常小巧扇售,是專門針對數(shù)據(jù)導(dǎo)出而寫的腳本。

第一步:連接數(shù)據(jù)庫信息承冰。

導(dǎo)出數(shù)據(jù)時首先應(yīng)該確定數(shù)據(jù)庫信息困乒,包括數(shù)據(jù)庫的庫名、賬號迁霎、密碼及端口信息百宇,填寫好相關(guān)數(shù)據(jù)庫的配置信息后,單擊“submit" 按鈕連接數(shù)據(jù)庫芝此。如果數(shù)據(jù)庫連接信息正確因痛,將會讀取出|指定數(shù)據(jù)庫的表數(shù)據(jù)條數(shù)及表結(jié)構(gòu)信息鸵膏。

第二步:填寫導(dǎo)出信息。

在得知表結(jié)構(gòu)之后谭企,就可以填寫要導(dǎo)出的表债查、列、每次導(dǎo)出行數(shù)征绸,以及導(dǎo)出數(shù)據(jù)的保存路徑俄占。在填寫完信息后,單擊“開始導(dǎo)出”按鈕渤弛,即可導(dǎo)出數(shù)據(jù)甚带。

Navicat

在Navicat安裝目錄下有三個PHP文件,分別是: ntunnel mysql.php辕宏、ntunnel_ pgsql.php和ntunnel_ sqlite.php。 這三個文件分別支持對MySQL、PostgreSQL聚假、 SQLite數(shù)據(jù)庫使用HTTP通道連接闰非。HTTP通道經(jīng)常用于以下情況:網(wǎng)站空間服務(wù)商不允許遠(yuǎn)程連接MySQL,也就無法利用Navicat客戶端通過填寫服務(wù)器地址來遠(yuǎn)程連接MySQL瘪贱。這時可以通過HTTP通道方式連接服務(wù)器的MySQL數(shù)據(jù)庫辆毡。

將ntunel mysql.php上傳到網(wǎng)站根目錄舶掖,然后打開Navicat,單擊“新建連接”→“MySQL",選擇“HTTP”選項卡主慰,勾選“使用HTTP通道”鲫售,在“通道地址”欄寫入ntunel mysql.php的URL,填寫完HTTP通道地址后情竹,返回“常規(guī)”選項卡藐不,填寫連接名、用戶名及密碼鲤妥。這里需要注意的是佳吞,要連接的主機IP地址應(yīng)該為“Localhost"或“127.0.0.1",代表本地連接。填寫完后棉安,即可遠(yuǎn)程連接MySQL數(shù)據(jù)庫

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末底扳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子贡耽,更是在濱河造成了極大的恐慌衷模,老刑警劉巖鹊汛,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阱冶,死亡現(xiàn)場離奇詭異刁憋,居然都是意外死亡,警方通過查閱死者的電腦和手機木蹬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門至耻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人镊叁,你說我怎么就攤上這事尘颓。” “怎么了晦譬?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵疤苹,是天一觀的道長。 經(jīng)常有香客問我敛腌,道長卧土,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任像樊,我火速辦了婚禮尤莺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凶硅。我一直安慰自己缝裁,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布足绅。 她就那樣靜靜地躺著捷绑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氢妈。 梳的紋絲不亂的頭發(fā)上粹污,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天,我揣著相機與錄音首量,去河邊找鬼壮吩。 笑死,一個胖子當(dāng)著我的面吹牛加缘,可吹牛的內(nèi)容都是我干的鸭叙。 我是一名探鬼主播,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼拣宏,長吁一口氣:“原來是場噩夢啊……” “哼沈贝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起勋乾,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤宋下,失蹤者是張志新(化名)和其女友劉穎嗡善,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體学歧,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡罩引,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了枝笨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片袁铐。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖伺帘,靈堂內(nèi)的尸體忽然破棺而出昭躺,到底是詐尸還是另有隱情,我是刑警寧澤伪嫁,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站偶垮,受9級特大地震影響张咳,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜似舵,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一脚猾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧砚哗,春花似錦龙助、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至仅淑,卻和暖如春称勋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背涯竟。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工赡鲜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人庐船。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓银酬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親筐钟。 傳聞我的和親對象是個殘疾皇子揩瞪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,930評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 前言 前兩篇主要講解了一些理論,今天我們舉一些簡單的例子喷屋。全部上實例琳拨。 任務(wù) 學(xué)會舉一反三。 Data Query...
    yzzCool閱讀 398評論 0 1
  • 注入攻擊的分類 1.沒有正確過濾轉(zhuǎn)義字符 在用戶的輸入沒有為轉(zhuǎn)義字符過濾時屯曹,就會發(fā)生這種形式的注入式攻擊狱庇,它會被傳...
    查無此人asdasd閱讀 1,632評論 0 5
  • 姓名:于川皓 學(xué)號:16140210089 轉(zhuǎn)載自:https://baike.baidu.com/item/sq...
    道無涯_cc76閱讀 1,962評論 0 2
  • 身在北街心在東密任,入園深處思無窮。 曉來日掩彩云里偷俭,眼看葉紅飛影中浪讳。 幾處鳥聲飄遠(yuǎn)樹,兩行雁字寫長空涌萤。 此時再得金秋...
    雪窗_武立之閱讀 357評論 1 9
  • 時光荏苒淹遵,轉(zhuǎn)眼孩子已經(jīng)長大。 時間轉(zhuǎn)瞬即逝负溪,人們更應(yīng)該珍惜珍惜它透揣,所以我們應(yīng)該充實...
    d00284a8856c閱讀 127評論 0 0