亚洲日韩AV永久不卡|久久亚洲精品频在久久|国产亚洲综合网曝门系列|国产高清视频a在线大全|欧美国产日韩A在线视频Y|人妻少妇精品无码一区二区|久久久久久人妻一区精品69|熟妇人妻精品一区二区三区视频

<span id="yw77u"></span>
<p id="yw77u"></p>

    1. <td id="yw77u"><tr id="yw77u"></tr></td>

            <small id="yw77u"><dl id="yw77u"></dl></small>
              <p id="yw77u"></p>
              1.  
                售房快車 售房客車 房屋租賃 牽線搭橋 供求信息 南陽人才網(wǎng) 文藝沙龍
                 
                域名注冊 虛擬主機(jī) 云服務(wù)器 企業(yè)云郵箱 網(wǎng)站制作 網(wǎng)站推廣 無紙辦公 成功案例
                   
                服務(wù)熱線:0377-63392646 13782137062
                虛擬主機(jī)  
                · 網(wǎng) 絡(luò) 學(xué) 院
                ·友情鏈接 更多>>>
                標(biāo)題:ASP漏洞全接觸-進(jìn)階篇

                 
                在入門篇,我們學(xué)會(huì)了SQL注入的判斷方法,但真正要拿到網(wǎng)站的保密內(nèi)容,是遠(yuǎn)遠(yuǎn)不夠的。接下來,我們就繼續(xù)學(xué)習(xí)如何從數(shù)據(jù)庫中獲取想要獲得的內(nèi)容,首先,我們先看看SQL注入的一般步驟:

                  第一節(jié)、SQL注入的一般步驟

                  首先,判斷環(huán)境,尋找注入點(diǎn),判斷數(shù)據(jù)庫類型,這在入門篇已經(jīng)講過了。

                  其次,根據(jù)注入?yún)?shù)類型,在腦海中重構(gòu)SQL語句的原貌,按參數(shù)類型主要分為下面三種:

                  (A) ID=49 這類注入的參數(shù)是數(shù)字型,SQL語句原貌大致如下:
                  Select * from 表名 where 字段=49
                  注入的參數(shù)為ID=49 And [查詢條件],即是生成語句:
                  Select * from 表名 where 字段=49 And [查詢條件]


                  (B) Class=連續(xù)劇 這類注入的參數(shù)是字符型,SQL語句原貌大致概如下:
                  Select * from 表名 where 字段='連續(xù)劇'
                  注入的參數(shù)為Class=連續(xù)劇' and [查詢條件] and ‘'=' ,即是生成語句:
                  Select * from 表名 where 字段='連續(xù)劇' and [查詢條件] and ‘'=''

                  (C) 搜索時(shí)沒過濾參數(shù)的,如keyword=關(guān)鍵字,SQL語句原貌大致如下:
                  Select * from 表名 where 字段like '%關(guān)鍵字%'
                  注入的參數(shù)為keyword=' and [查詢條件] and ‘%25'=', 即是生成語句:
                  Select * from 表名 where字段like '%' and [查詢條件] and ‘%'='%'

                  接著,將查詢條件替換成SQL語句,猜解表名,例如:

                  ID=49 And (Select Count(*) from Admin)>=0

                  如果頁面就與ID=49的相同,說明附加條件成立,即表Admin存在,反之,即不存在(請牢記這種方法)。如此循環(huán),直至猜到表名為止。

                  表名猜出來后,將Count(*)替換成Count(字段名),用同樣的原理猜解字段名。

                  有人會(huì)說:這里有一些偶然的成分,如果表名起得很復(fù)雜沒規(guī)律的,那根本就沒得玩下去了。說得很對,這世界根本就不存在100%成功的黑客技術(shù),蒼蠅不叮無縫的蛋,無論多技術(shù)多高深的黑客,都是因?yàn)閯e人的程序?qū)懙貌粐?yán)密或使用者保密意識(shí)不夠,才有得下手。

                  有點(diǎn)跑題了,話說回來,對于SQLServer的庫,還是有辦法讓程序告訴我們表名及字段名的,我們在高級(jí)篇中會(huì)做介紹。


                  最后,在表名和列名猜解成功后,再使用SQL語句,得出字段的值,下面介紹一種最常用的方法-Ascii逐字解碼法,雖然這種方法速度很慢,但肯定是可行的方法。

                  我們舉個(gè)例子,已知表Admin中存在username字段,首先,我們?nèi)〉谝粭l記錄,測試長度:

                  http://www.19cn.com/showdetail.asp?id=49 ;;and (select top 1 len(username) from Admin)>0

                  先說明原理:如果top 1的username長度大于0,則條件成立;接著就是>1、>2、>3這樣測試下去,一直到條件不成立為止,比如>7成立,>8不成立,就是len(username)=8

                  當(dāng)然沒人會(huì)笨得從0,1,2,3一個(gè)個(gè)測試,怎么樣才比較快就看各自發(fā)揮了。在得到username的長度后,用mid(username,N,1)截取第N位字符,再asc(mid(username,N,1))得到ASCII碼,比如:

                  id=49 and (select top 1 asc(mid(username,1,1)) from Admin)>0

                  同樣也是用逐步縮小范圍的方法得到第1位字符的ASCII碼,注意的是英文和數(shù)字的ASCII碼在1-128之間,可以用折半法加速猜解,如果寫成程序測試,效率會(huì)有極大的提高。

                  第二節(jié)、SQL注入常用函數(shù)

                  有SQL語言基礎(chǔ)的人,在SQL注入的時(shí)候成功率比不熟悉的人高很多。我們有必要提高一下自己的SQL水平,特別是一些常用的函數(shù)及命令。

                  Access:asc(字符) SQLServer:unicode(字符)

                  作用:返回某字符的ASCII碼

                  Access:chr(數(shù)字) SQLServer:nchar(數(shù)字)

                  作用:與asc相反,根據(jù)ASCII碼返回字符

                  Access:mid(字符串,N,L) SQLServer:substring(字符串,N,L)

                  作用:返回字符串從N個(gè)字符起長度為L的子字符串,即N到N+L之間的字符串

                  Access:abc(數(shù)字) SQLServer:abc (數(shù)字)

                  作用:返回?cái)?shù)字的絕對值(在猜解漢字的時(shí)候會(huì)用到)

                  Access:A between B And C SQLServer:A between B And C

                  作用:判斷A是否界于B與C之間

                  第三節(jié)、中文處理方法

                  在注入中碰到中文字符是常有的事,有些人一碰到中文字符就想打退堂鼓了。其實(shí)只要對中文的編碼有所了解,"中文恐懼癥"很快可以克服。

                  先說一點(diǎn)常識(shí):

                  Access中,中文的ASCII碼可能會(huì)出現(xiàn)負(fù)數(shù),取出該負(fù)數(shù)后用abs()取絕對值,漢字字符不變。

                  SQLServer中,中文的ASCII為正數(shù),但由于是UNICODE的雙位編碼,不能用函數(shù)ascii()取得ASCII碼,必須用函數(shù)unicode ()返回unicode值,再用nchar函數(shù)取得對應(yīng)的中文字符。

                  了解了上面的兩點(diǎn)后,是不是覺得中文猜解其實(shí)也跟英文差不多呢?除了使用的函數(shù)要注意、猜解范圍大一點(diǎn)外,方法是沒什么兩樣的。

                  作者:eNet 出處:eNet硅谷動(dòng)力

                 

                點(diǎn)擊[5178]次  發(fā)布日期: 2007-3-26 21:43:10    發(fā)布人:中國開網(wǎng)
                :上一篇
                  下一篇:

                返回首頁 |公司簡介 |開網(wǎng)招聘 |支付說明 |行業(yè)新聞 | 聯(lián)系方式 |客服中心| 相關(guān)咨詢|廣告服務(wù) |郵箱登錄

                豫公網(wǎng)安備 41130302000019號(hào)


                豫ICP備2024042951號(hào)

                南陽市開網(wǎng)網(wǎng)絡(luò)技術(shù)有限公司◎0377-63392646

                業(yè)務(wù)專線: 0377-63392646 1378217062

                總部地址: 河南省南陽市車站路146號(hào)新城百樂大廈13樓12室

                業(yè)務(wù)①Q(mào)Q:401853676 客服①Q(mào)Q:776288762 

                Email:xuejinfu@kyxxw.com  

                Copyright © 2025 南陽市開網(wǎng)網(wǎng)絡(luò)技術(shù)有限公司 ◇版權(quán)所有

                中國開網(wǎng)旗下網(wǎng)站:
                信息版:www.additionaltrade.com 
                網(wǎng)絡(luò)版:www.cnkw.cn
                成賣網(wǎng):www.cmai.cn
                開網(wǎng)PC手機(jī)微信APP小程序五合一網(wǎng)站
                www.0377it.cn
                www.cnkw.cn
                榆树市| 承德市| 桃园市| 富宁县| 兰西县| 抚顺县| 曲沃县| 襄垣县| 博客| 黄大仙区| 武强县| 定日县| 滕州市| 武清区| 启东市| 博白县| 武山县| 无为县| 安康市| 玉门市| 贡嘎县| 蒲江县| 柳林县| 吉安县| 扶风县| 资源县| 河曲县| 嘉峪关市| 通海县| 邓州市| 尼玛县| 金坛市| 西平县| 长沙县| 海南省| 纳雍县| 阳曲县| 金溪县| 海丰县| 新沂市| 富顺县|