自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 [NSSRound#6 Team]void(V1)

base64编码表的真实地址是:0x555555400000+ 0x00202020 = 0x555555602020。打开 linux ,用 checksec 看看有没有保护,发现 PIE 是开着的,那么在程序运行时,基地址就会随机化,无法通过静态分析得到的地址去操作,也就是我们无法使用 ida 中看到的地址;看看编码用的是自定义 base64 编码表还是标准的 base64 编码表,双击进入 “aAbcdefghijklmn” ,可以看到用的标准的 base64 编码表进行 base64 编码。

2026-04-15 21:50:08 378

原创 [广东省大学生攻防大赛 2022]pyre

摘要:通过逆向分析Python打包的exe文件,首先使用pyinstxtractor解包获取.pyc字节码,再用uncompyle6反编译为Python源码。分析发现加密算法为字符满足ord(a[i])*33%179==c[i],针对给定的44个密文数值,通过枚举可打印ASCII字符(32-126)反推出原始字符,最终拼接得到flag:flag{2889e7a3-0d6b-4cbb-b6e9-04c0f26c9dca}。整个逆向过程涉及文件解包、反编译和加密算法逆向推导。

2026-04-10 18:23:06 69

原创 bugku-reverse题目-love

摘要:通过逆向分析32位程序,发现程序对用户输入的flag进行自定义Base64编码后执行ASCII+下标变换,并与硬编码值"e3nifIH9b_C@n@dH"比较。分析显示编码表为标准Base64表,编写解密脚本先逆向ASCII变换再Base64解码,最终得到flag{i_l0ve_you}。整个逆向过程包括函数逻辑分析、编码表确认和逆向算法实现。

2026-03-10 11:47:58 57

原创 bugku-reverse-patch_call

通过逆向分析32位程序发现flag隐藏在printFlag函数中,内容为"flag{Can_youfind_me?}"。使用x32dbg调试时,在main函数处修改EIP指向printFlag函数地址00401554,成功触发flag输出。整个解题过程涉及静态反编译分析和动态调试技术,最终无需修改程序代码即可获取flag。

2026-03-03 17:05:30 308

原创 bugku-reverse-Luck

本文分析了luck.exe程序的逆向过程。通过IDA反编译发现,当用户第一次猜中数字时程序会输出flag。flag生成过程涉及:1)使用固定种子10520(srand)生成随机数;2)与密文数组[0x7F,0x5B...]进行异或运算。编写Python脚本模拟该过程,最终解密得到flag{1uck_g4y_n0t_n55d_x0r}。关键点包括:定位flag生成函数、提取密文数据、确定随机数种子以及实现相同的异或解密逻辑。

2026-02-28 22:58:03 232

原创 bugku-reverse-signin

摘要:通过逆向分析APK文件,使用jadx工具全局搜索"Password"找到密码检查函数。在资源文件中定位到加密字符串"991YiZWOz81ZhFjZfJXdwk3X1k2XzIXZIt3ZhxmZ",经字符串反转和Base64解码处理后获得flag:flag{Her3_i5_y0ur_f1ag_39fbc_}。解题过程包括代码逆向、资源搜索和密码解密三个关键步骤。

2026-02-24 13:59:42 253

原创 bugku-reverse题目-NoString

摘要:通过逆向分析NoString.exe程序,发现其通过异或9运算对比输入字符串与硬编码值"oehnl3r=<?=hF@CCGPt"。编写Python解密脚本得到flag{4564aOIJJNY},验证正确后提交成功。分析过程包括使用IDA反编译、定位关键校验逻辑及编写解密代码。(149字)

2026-02-22 15:12:28 337

原创 bugku-reverse题目-不好用的ce

摘要:通过分析VB编写的点击程序,发现需要点击1万次才能获取flag。使用VBDecompiler反编译后,定位到关键判断指令:将计数器与10000.0比较。在IDA中修改该值为2.0,只需点击2次即可显示base58编码的flag。另一种方法是修改条件跳转指令为nop,阻止跳转直接显示flag。最终flag为flag{c1icktimes},可通过base58解码获取。两种方法均可快速解题,其中直接修改比较值更为简便。

2026-02-17 17:21:36 331

原创 bugku-reverse题目-游戏过关

摘要:通过逆向分析32位程序获取flag。使用IDA分析字符串"done!!!the flag is",追踪引用函数并转换为伪C代码,发现flag生成逻辑:将两组56位数组逐元素异或后再与0x13异或,转换为ASCII字符。编写Python脚本实现该逻辑,最终得到flag:zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}。(150字)

2026-02-12 20:48:35 373

原创 bugku-reverse题目-树木的小秘密

摘要:本文介绍了逆向分析一个Python打包的EXE程序的过程。首先使用IDA分析发现是PyInstaller打包的程序,然后通过pyinstxtractor解包获取.pyc文件。接着用uncompyle6反编译.pyc文件为.py源代码,最终发现程序中包含一段base64编码的flag,解码后得到"flag{my_name_is_shumu}"。整个过程展示了从Python打包EXE中提取flag的完整逆向分析方法。

2026-01-25 15:52:24 113

原创 bugku-reverse题目-peter的手机

双击后按 f5 进行反编译查看伪c代码,便能发现一个验证,根据用户输入是否等于“1997019247Acf”来判定 "right" or "error"。于是使用 ida64 来对文件进行分析,打开后看左边的函数名,在其中发现一个关键函数btn->button(按钮),这个函数通常能触发逻辑。打开题目获得附件,是以ipa格式结尾的。将其中的 firstos 拖进 exeinfo 中看到是64位的。据此,flag就是flag{1997019247Acf}所以可以直接修改文件后缀为zip并解压,解压后得到。

2026-01-20 20:19:29 143

原创 gdust-lq-隐藏的小白兔

那么接下来就开始密码爆破吧,因为我的密码字典比较匮乏,只能用rockyou的简化版了(rockyou完整使用实在是太多了,耗时长)结果说明这张图片中除了图片之外还有一个压缩包,那么接下来就需要将zip文件从整体中提取出来。接下来,现代加密格式都把验证令牌(salt + 迭代计数 + 期望摘要)嵌在文件头里。题目给的附件是一个 png 格式的图片,丢给 binwalk 查查看。将docx转换为纯文本输出,就能得到flag了!开始用rockyou的简化版来爆破。接下来只需要输入密码就能得到文件了。

2025-11-28 18:18:30 366

原创 Bugku-Web题目-文件上传

find / -name flag 2>/dev/null”(查找flag并忽略错误)此时再重新发包,就可以成功上传一句话木马,根据返回的路径打开蚁剑并连接。打开bp,并上传一个一句话木马上去(后缀名为jpg)此时显示上传成功,先将其发送到repeater模块。ultipart”并将文件后缀修改为php4。修改将“multipart”修改为““cd /”(回到根目录)连接成功后,打开虚拟终端。

2025-11-16 12:21:27 347

原创 Bugku-web题目-xxx二手交易市场

payload采用“image=data%3Aimage%2Fphp%3Bbase64%2CPD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4=”(URL参数形式),解码后“image=data:image/php;成功进入蚁剑之后,打开虚拟终端,输入“find / -name flag 2>/dev/null”即可找到flag的路径(/var/www/html/flag )识别Data URI格式,这就是标准的Data URI 格式:data:[<mediatype>][;

2025-11-15 19:51:26 987

原创 Bugku-Web题目-文件包含

因为文件包含的题目通常与php伪协议相关联,于是我们来试试访问文件的伪协议,直接访问index.php 也就是源码。有一个超链接,点进去后显示 index.php,猜测是提醒我们查看它。将前面的 “77u/”去掉,后面的拿去解码就可以得到flag了。访问后就得到了一段base64编码。

2025-11-10 20:22:58 404

原创 Bugku-Web题目-cookies

最后,根据源码提示,我们知道只需要将filename=keys.php的base64编码的同时,再将cookie改成margin=margin就能得到flag了。但是我想到,能不能试一下让filename=index.php,看看能不能得到源代码。观察一下发现这玩意不就是filename=keys.txt,然后line就是行的意思嘛。试试就试试,来了,真的有,那么接下来就只需要切换line的行数即可,在keys.txt中,我试了一下line=1或者2、3,都没有内容。接下来,能读到源代码不就好起来了嘛。

2025-10-31 19:20:46 420

原创 Bugku-Web题目-charlottesweb- WolvCTF 2023

打开后发现以put请求方式访问路径即可得到flag。打开题目,提示flag就在附近。按个f12,看到个路径看看呢。

2025-10-26 16:19:20 289

原创 Bugku-Web题目-no select

这道题有两个解法,一个是万能密码一把梭,另一个就是老老实实手动注入,sqlmap 是出不来flag的。是一个sql注入的题目,看题目叫做no selection 应该是把select给过滤了。那么接下来就开始手动注入的解法吧,这里使用堆叠注入。下一行:出flag!

2025-10-26 15:44:54 389

原创 Bugku-Web题目-Whois-HackINI 2022

那就试一下换行吧,换行后就能提前结束上一条命令,并插入一条新的命令。对回车键也就是换行符进行url编码,得到 %0a。那么接下来 cat 一下就能得到flag了。随便查个看看 baidu.com 看看。到这里,考虑能不能直接拼接命令执行呢?打开题目,是一个查询whois的界面。

2025-10-25 17:07:43 617

原创 Bugku-Web题目-nextGen 2- HackINI 2022

发现读不出来,但是想起来题目有提示说会有过滤器,随便试一下,估计是过滤了关键字:127.0.0.1。随便点几下,看看有没有什么破绽,发现了疑似ssrf漏洞。既然如此,试一下127.0.00.1呢?发到重放器中,试一下直接读flag.txt。打开题目,还是跟第一个题目一样的界面。

2025-10-25 16:16:17 324

原创 Bugku-Web题目-file_get_contents

这行代码用于在当前作用域创建键值,也就是如果在url栏中输入,?ac=123&abc=258 ,那么就会有作用域中就会有这俩的键值存在。既然需要我们创建的变量的 ac 的值和靶机中的文件的内容一致,那我们就看看有没有什么文件,用 dirsearch 扫一下看看,发现一个flag.txt,打开来看一下呢,发现里面装着的是 bugku。把变量 $fn 当作文件名,读取其全部内容,结果存入变量 $f。如果变量 $ac 和变量 $f 的值相等时,给出flag。既然如此,那就好办了,直接出flag。

2025-10-25 15:52:31 507

原创 Bugku-Web题目-Simple SQL injection

打开题目,是一个登录界面。直接上万能密码试一下。

2025-10-25 14:53:43 300

原创 Bugku-Web题目-nextGen1- HackINI 2022

有好几个功能模块,随便点几个看看包里有啥。发现只有Overview 中的两个模块点了是有包返回的,看了一下,发现有service,感觉是ssrf漏洞。题目提示让我们去看网络服务器的“/flag.txt”文件。试一下啊,读个文件看看。

2025-10-24 12:14:33 297

原创 Bugku-Web题目-各种绕过哟

经过观察,题目要求上传三个变量,以 get 方式传递 id 和 uname 两个变量,以 POST 方式传递 passwd 变量。PHP的 sha1() 函数在处理数组时,会返回 NULL ,那么,如果 uname 和 passwd 都是数组,那么就能满足条件。要求 uname 和 passwd 二者值的sha1哈希值相等,并且“id”的值为margin。打开bp和内置浏览器,先通过url框以get方式提交 id 和 uname ,并开启拦截模式。将底下的参数移到url那边,并将passwd加上。

2025-10-24 11:51:37 547

原创 Bugku-Web题目-MD5

这里就是突破口,因为 == 在比较过程中是会进行类型转换的,我们注意到,当使用线上工具对 QNKCDZO 进行md5值转换时,发现它是由0e开头的。看了一下,就是变量 $md51 的值是 QNKCDZO 的MD5值,md52 的值就是我们通过get方式来给a复制后,再计算a的md5值,a的md5值就是md52的值。一个是上网搜,另一个就是写python脚本来跑。接下来,到了验证步骤,如果a存在,并且a不等于 QNKCDZO ,同时变量 $md51 和 $md52相等的话,那么就给出flag。

2025-10-16 12:14:10 489

原创 Bugku-Web题目-baby lfi 2- HackINI 2022

根据上一题也就是 baby lfi 1我们依旧使用 language 来作为参数,根据题目提示,有一个目录是 languages 是一个合法路径,那我们就进入这个目录,并使用多个 ../ 来退回到根目录,并访问 /etc/passwd ,从而拿到flag。打开题目,说是有一个已被允许的路径 languages 的目录,里面有些东西。以及访问 /etc/passwd。

2025-10-07 13:49:49 331

原创 Bugku-Web题目-baby lfi- HackINI 2022

打开题目,题目要求我们包含 /etc/passwd 以及给了提醒使用 language 参数。

2025-10-07 12:49:14 204

原创 Bugku-Web题目-sqli-0x1- HackINI 2021

密码的比对,在 ‘888999’ 中的888是用户输入的密码,999是盐,而在 ‘d619e89bdaae0de8760ea721fa1ba8d9a819870b1ba82d720e7ac802270fce92$999’ 中结尾的 $999 是 explode() 函数按照 $ 来分割的盐,在。手动sql注入,创造一个新的记录,再让服务器查到这个记录,再让密码验证通过。3、password = 用户输入的密码 + 盐。它用于加上用户输入的密码来计算sha256来比对。打开看看,发现是一大串php代码。

2025-10-06 14:46:14 1450

原创 Bugku-Web题目-post-the-get

直接按 f12 进行检查,ctrl + f 进行查找 "get"将 disabled 更换为 abled。将 GET 替换为 POST。

2025-10-06 01:17:45 275

原创 Bugku-Web题目-前女友

此时两个变量相等,strcmp返回 0 ,"!来分析一下, md5($v1) == md5($v2) 中的 == 是弱比较,会触发类型转换,如果两个md5值都是以 0e 开头的数字字符串,php会将它们视作科学计数法当作 0。因为 $flag 是一个未定义的变量,php会将其视作 NULL ,此时给 $v3 传入一个数组,而不是字符串,strcmp() 就会报错,并返回 NULL ,此时二者相等。首先先看strcmp()这个函数,它会先对两个变量进行对比,如果两个变量相等,则返回0;打开题目,有一段文字。

2025-10-06 00:43:55 385

原创 Bugku-Web题目-成绩查询

行吧,直接 sqlmap 一把梭试试!先出 databases。打开题目,发现给了一个查找框,应该是sql注入。出来了,继续出tables。继续出 columns。

2025-10-05 00:59:25 174

原创 Bugku-Web题目-你从哪里来

打开题目,看到 are you from google?,行吧猜测一下应该是要我用 Referer 来表明一下我是来自 google 的。打开 repeater 模块,随便找个地方加上。将包发送至 repeater。

2025-10-05 00:30:44 207

原创 Bugku-Web题目-程序员本地网站

从本地访问的话直接将 IP 设置为 127.0.0.1 即可。随便找个地方加上,flag就出来。将包发送至 repeater。打开题目,让我们从本地访问。

2025-10-05 00:02:49 234

原创 Bugku-Web题目-需要管理员

拉到页面下方,发现一段php代码,通过代码审计,得知需要通过get方式来给 x 赋值,如果 x的值与变量 $password 相等,则。打开burp suite,将网址复制粘贴,并给x随便赋个值,我赋值 123456。直接上 dirsearch 跑一跑,看看有啥线索不?打开intruder模块,选中 x 的变量 123456 ,并add(增加)最后跑完之后,对length(长度)进行筛选,得到flag。发现一个 /robots.txt ,打开来看看呢?发现一个 /resusl.php ,打开来看看呢?

2025-10-04 23:54:40 692

原创 Bugku-Web题目-eval

这一段代码的意思是,从 get 、 post 或者 cookie 中提取名为 hello 的参数,并赋值给变量 $a。进行代码审计,这一段代码读取并打印变量 $a。打开题目,发现了一段php代码。

2025-10-04 23:14:39 469

原创 Bugku-Web题目-shell

字符串变量$poc的值是 a#s#s#e#r#t ,随后使用explode函数,以 # 为分隔符将字符串拆开来分别赋值给$poc_1的相应的数组,再将$poc_1数组的各个值连起来赋值给一个新的变量$poc_2,此时$poc_2的值是: assert。而 assert() 是一个PHP中的一个函数,它可以接受一个字符串参数,这个字符串参数还可以被当作PHP代码来执行。也就是说通过get给 s 赋值,然后传递 "s" 这个参数给assert来实现PHP代码的执行。这道题的描述部分给了一段代码。

2025-10-01 20:19:59 482

原创 Bugku-Web题目-好像需要密码

直接打开Burp suite pro ,随便输入个 123 进行抓包(社区版破密码慢的要死,写这题用社区版破密码得两年)clear(清除)默认标记,add(增加)选中的 123 标记。跑完后对length进行筛选,筛选出来长度不一样的就是flag。随后在payload区域,选择number。打开题目,经典的密码爆破题目。右键发送至intruder。然后进一步设置,并开始爆破。

2025-09-27 19:18:31 210

原创 Bugku-Web题目-bp

看了一些其他师傅的题解,发现原来这道题无论密码正确与否,包的长度都是一样的,但是可以发现错误的密码中都有这么一个共同点,那就是response中都有 code: 'bugku10000'因为这个密码字典有一千个密码,bp破解起来很慢,所以手动按照提示来筛选一下密码,打开密码字典,ctrl+f 对以 z 开头的密码进行筛选,并复制粘贴到bp中的payload中。题目的提示如下,弱密码top1000和z?手动逐一输入了一下密码,发现其中是有正确密码的,密码就是 zxc123。最后筛选出来的密码就只有不到十个。

2025-09-27 17:15:45 491

原创 Bugku-Web题目-网站被黑

打开Burp suite,先在浏览器中加载页面并在密码输入框中随便输点东西。随后点击payloads进行设置,load(加载)密码字典。密码字典自备,使用kali中的wordlists的rockyou.txt也不错。爆破完成之后,点击Length进行筛选,因为没破解成功的一般页面都是一样的,只有当破解成功时,长度才会有所区别。然后先clear(清除)默认的标识,然后自行对pass部分add(增加)标识。总结,在url后加shell.php,密码是hack,得到flag。打开题目,啥都没有。

2025-09-26 17:44:45 298

原创 Bugku-Web题目-源代码

可以看到解码之后,"67d709b2b54aa2aa648cf6e87a7114f1"==a.value, 67d709b2b54aa2aa648cf6e87a7114f1 很明显就是答案了。var p1和var p2明显就是URL编码的字符串,按照给的公式,(p1+%35%34%61%61%32+p2)丢到Burp suite中解码。打开题目,看到有一个提交框和一行字“看看源代码?将它放到搜索框中,得到flag。行吧,那我们就看看源代码吧!源代码中,提示给的很明显。

2025-09-26 09:09:04 236

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除