成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>開發編程>>ASP>>新聞內容
ASP漏洞全接觸-進階篇
作者:佚名 發布時間:2004-5-12 12:58:42 文章來源:eNet硅谷動力

  在入門篇,我們學會了SQL注入的判斷方法,但真正要拿到網站的保密內容,是遠遠不夠的。接下來,我們就繼續學習如何從數據庫中獲取想要獲得的內容,首先,我們先看看SQL注入的一般步驟:

  第一節、SQL注入的一般步驟

  首先,判斷環境,尋找注入點,判斷數據庫類型,這在入門篇已經講過了。

  其次,根據注入參數類型,在腦海中重構SQL語句的原貌,按參數類型主要分為下面三種:

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


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

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

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

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

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

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

  有人會說:這里有一些偶然的成分,如果表名起得很復雜沒規律的,那根本就沒得玩下去了。說得很對,這世界根本就不存在100%成功的黑客技術,蒼蠅不叮無縫的蛋,無論多技術多高深的黑客,都是因為別人的程序寫得不嚴密或使用者保密意識不夠,才有得下手。

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


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

  我們舉個例子,已知表Admin中存在username字段,首先,我們取第一條記錄,測試長度:

  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

  當然沒人會笨得從0,1,2,3一個個測試,怎么樣才比較快就看各自發揮了。在得到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碼,注意的是英文和數字的ASCII碼在1-128之間,可以用折半法加速猜解,如果寫成程序測試,效率會有極大的提高。

  第二節、SQL注入常用函數

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

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

  作用:返回某字符的ASCII碼

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

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

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

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

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

  作用:返回數字的絕對值(在猜解漢字的時候會用到)

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

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

  第三節、中文處理方法

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

  先說一點常識:

  Access中,中文的ASCII碼可能會出現負數,取出該負數后用abs()取絕對值,漢字字符不變。

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

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

 


最新更新
·數據庫被掛馬的ASP處理方法
·ASP快速獲取遠程文件大小的方
·用ASP屏蔽迅雷和旋風下載工具
·解決ASP中傳送中文參數亂碼的
·ASP+AJAX做類似Google的搜索
·ASP的一個非常棒的Debug類(
·ASP中常用的服務器檢測源代碼
·優化ASP中執行SQL效率的五個
·ASP種msxml3.dll 800c0005錯
·掛QQ的ASP版本網頁源代碼
相關信息
·ASP漏洞全接觸-高級篇
·ASP漏洞全接觸-入門篇
畫心
愚愛
偏愛
火苗
白狐
畫沙
犯錯
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛
棉花糖
海豚音
我相信
甩蔥歌
這叫愛
shero
走天涯
琉璃月
Nobody
我愛他
套馬桿
愛是你我
最后一次
少女時代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂
星月神話
心痛2009
愛丫愛丫
半城煙沙
旗開得勝
郎的誘惑
愛情買賣
2010等你來
我叫小沈陽
i miss you
姑娘我愛你
我們都一樣
其實很寂寞
我愛雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個傳說
丟了幸福的豬
找個人來愛我
要嫁就嫁灰太狼
如果這就是愛情
我們沒有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開之前離開
不是因為寂寞才想你
愛上你等于愛上了錯
在心里從此永遠有個你
一個人的寂寞兩個人的錯
主站蜘蛛池模板: 台安县| 家居| 博罗县| 永善县| 黑河市| 沭阳县| 莱芜市| 友谊县| 湖口县| 喀什市| 当阳市| 延川县| 阿坝县| 唐海县| 吴川市| 汶上县| 综艺| 吉安县| 共和县| 红安县| 吉首市| 陆川县| 合作市| 涪陵区| 隆子县| 囊谦县| 桂东县| 化德县| 米林县| 丹凤县| 上虞市| 乌审旗| 岐山县| 六枝特区| 色达县| 延边| 安泽县| 焦作市| 连城县| 平南县| 湖南省|