2017-2018-2 20179215《網絡攻防實踐》第五週做業

《網絡攻防實踐》 第五週 學習總結

實踐.SQL注入實驗

實驗環境

1.運行Apache Server:鏡像已經安裝,只需運行命令#sudo service apache2 startphp

2.phpBB2 web應用:鏡像已經安裝,經過http://www.sqllabmysqlphpbb.com訪問,應用程序源代碼位於/var/www/SQL/SQLLabMysqlPhpbb/mysql

3.配置DNS:上述的URL僅僅在鏡像內部能夠訪問,緣由是咱們修改了/etc/hosts文件使http://www.sqllabmysqlphpbb.com指向本機IP 127.0.0.1。若是須要在其餘機器訪問,應該修改hosts文件,使URL映射到phpBB2所在機器的IP。web

4.找到/etc/php5/apache2/php.ini,找到magic_ quotes_ gpc = On這一行改成magic_quotes_ gpc = Offsql

在以前的實驗中實驗環境已經搭配好了。shell

關閉對抗措施

PHP提供了自動對抗SQL注入的機制,被稱爲magic quote,咱們須要關閉它。數據庫

1.找到/etc/php5/apache2/php.iniapache

2.找到magic_ quotes_ gpc = On這一行安全

3.改成magic_ quotes_ gpc = Off服務器

4.重啓Apache:sudo service apache2 restartcookie

對SELECT語句的攻擊

這次任務,你須要經過訪問虛擬機內的URL:www.sqllabmysqlphpbb.com。在進入phpBB以前系統會要求你登錄。這個登錄認證由服務器上的login.php實現,須要用戶輸入用戶名和密碼來經過認證。
實現過程以下:

那麼當咱們訪問:www.sqllabcollabtive.com;但咱們知道用戶而不知道到密碼的時候,咱們能夠怎麼登錄?

(1)查看登錄驗證文件:

(2)修改sql語句爲:

(3)修改完後重啓一下服務器:
sudo service apache2 restart

(4)點擊登錄之後,咱們就能夠繞過密碼直接登陸:

對UPDATE語句的攻擊

當用戶想要在phpBB2中修改他們的資料時,能夠點擊Profile,而後填寫表單修改。用戶發送修改請求後,會執行include/usercp_register.php中的一條UPDATE SQL語句。

對抗SQL注入

  1. 使用magic_quotes_gpc避開特殊字符。

  1. 使用addslashes()來避開特殊字符。

  2. 使用mysql_real_escape_string避開特殊字符。

  3. Prepare Statement。

Kali視頻學習

數據庫評估(一)

WEB層數據庫鏈接的漏洞在安全測試中並很多見,OWASP曾經的Top10之首,SQL注入漏洞也所以產生。

Kali下數據評估的工具:

1.BBQSql(半自動):

2.DBPwAudit(數據庫用戶名密碼枚舉工具)

3.HexorBase(實用)

圖形化的密碼破解與鏈接工具,開源;鏈接而且控制數據庫執行一些語句。

輸入ip就能夠成功鏈接到mysql數據庫中。

4.JSQL Injection

jSQL是一款輕量級安全測試工具,能夠檢測SQL注入漏洞。它跨平臺(Windows、Linux、Mac OS X、Solaris),開源且免費。將存在注入漏洞的URL貼進來便可進行響應的漏洞利用。

5.MDBTools

6.Oracle Scanner

7.SIDGusser

針對Oracle的SID進行暴力枚舉;SID爲Oracle實例名,Oracle鏈接字符串:實例名+用戶+密碼

8.SqlDICT(用戶名密碼枚舉工具)

數據庫評估(二)

1.tnscmd10g(不經常使用)

容許向Oracle數據庫注入命令

2.Sqlsus

3.Sqlninja

Sqlninja是一款perl編寫的,側重於得到一個shell。Sqlninja是專門針對Microsoft SQLServer的sql注入工具。可找到遠程SQL服務器的版本和特徵;對管理員口令「sa」進行強力攻擊;一旦找到口令就將特權提高到「sa」權限;若是原始的xp_ cmdshell被禁用後,就建立一個定製的xp_ cmdshell;不須要FTP鏈接;爲了找到目標網絡的防火牆所容許的端口,能夠實施針對目標SQL服務器的TCP/UDP端口掃描;逃避技術,使注入代碼「模糊」不清,而且混淆/繞過基於強命的IPS和應用層防火牆;採用「盲目執行」攻擊模式,能夠用於發佈命令並執行診斷;若是獲得權限爲sa,能夠結合msf進一步對目標主機進行滲透。

4.Sqlmap

SQLMAP是一個開源的滲透測試工具,是用Python編寫。主要用於自動化的偵測和實施SQL注入攻擊以及滲透數據庫服務器。配有強大的偵測引擎,適用於高級滲透冊書用戶,不只能夠得到不一樣的數據庫指紋信息,還能夠從數據庫中提取數據,有很強大的抓取數據的能力。

經常使用命令:

SQLMap還有不少功能,如繞過WAF的tamper,修改UA的random-agent等等參數,須要在實際中靈活使用。

Web應用代理

經過web應用代理工具分析數據包,或修改數據包重放、暴力攻擊等在WEB安全測試中常常用到。

web應用代理工具備:burpsuite、owasp-zap、paros、vega、webscarab、proxystrike

1.Burp Suite

Burp Suite是用於攻擊web應用程序的集成平臺。Burp Suite帶有一個代理,經過默認端口8080運行,使用這個代理,能夠截獲並修改從客戶端到web應用程序的數據包。

它包含了一系列burp工具,這些工具之間有大量接口能夠互相通訊,這樣設計的目的是爲了促進和提升整個攻擊的效率。平臺中全部工具共享同一robust框架,以便贊成處理HTTP請求,持久性,認證,上游代理,日誌記錄,報警和可擴展性。

2.OwaspZAP

OWASP Zed Attack Proxy Project攻擊代理(簡稱ZAP),是一款查找網頁應用程序漏洞的綜合類滲透測試工具。它包含了「攔截代理、自動處理、被動處理、暴力破解、端口掃描以及蜘蛛搜索」等功能。OwaspZAP爲會話類調試工具,調試功能對網站不會發起大量請求,對服務器影響較小。

視頻當中沒有過多介紹,詳細使用能夠參考簡書的這篇文章https://www.jianshu.com/p/78d7d4ad8054

3.Paros

paros proxy,這是一個對web應用程序的漏洞進行評估的代理程序,即一個基於Java的web代理程序,能夠評估web應用程序的漏洞。它支持動態的編輯/查看HTTP/HTTPS,從而改變cookies和表單字段等項目。

它包括一個web通訊記錄程序,web圈套程序(spider),hash計算機,還有一個能夠測試常見的web應用程序攻擊的掃描器。該工具檢查漏洞形式包括:SQL注入、跨站點腳本攻擊、目錄遍歷等。

4.Vega代理功能

Vega是一個開放源代碼的web應用程序安全測試平臺,Vega可以幫助你驗證SQL注入、跨站腳本(XSS)、敏感信息泄露和其餘一些安全漏洞。Vega使用Java編寫,有GUI。

5.Webscarab

Webscarab一款代理軟件,包括HTTP代理,網絡爬行、網絡蜘蛛、會話ID分析,自動腳本接口,模糊測試工具,WEB格式的編碼/解碼,WEB服務描述語言和SOAP解析器等功能模塊。Webscarab基於GNU協議,使用Java編寫,是WebGoat中所使用的工具之一。

漏洞分析fuzz工具(模糊測試工具)

1.Bed.pl

Bed(Bruteforce Exploit Detector)是一個純文本協議的Fuzz工具,可以哦檢查常見的漏洞,如緩衝區溢出,格式串漏洞,總體溢出等。

2.Fuzz_ipv6

THC出品的針對IPV6協議的模糊測試工具。

3.Ohrwurm

4.PowerFuzzer

5.Wfuzz

針對web應用的模糊測試工具,能夠進行web應用暴力猜解,也支持對網站目錄、登陸信息、應用資源文件等的暴力猜解,還能夠進行get及post參數的猜解,sql注入,xss漏洞的測試等,該工具全部功能都依賴於字典。

6.SFuzz

7.XSSer

xsser --gtk 圖形化界面

對一個頁面或點進行xss測試,判斷是否有XSS的漏洞。

相關文章
相關標籤/搜索