- 博客(173)
- 收藏
- 关注
原创 DVWA-->01
2、上传失败了,因为它不是真正的图片,所以,接下来,我们用一张真的图片,但是在图片里面添加php代码,将图片修改为txt添加完代码之后再改为png。5、文件包含访问刚刚上传的文件,看看能不能执行里面的php代码,成功访问到了文件,并且执行了php代码。3、以“../”跳转目录的方式,包含想访问的文件,的页面没有反应时,多输入几次../甚至更多次。6、得到上传成功的文件路径,开始包含文件,成功包含文件,并执行了php代码,拿到了shell。3、上传.txt文本的php代码,发现上传失败,只能上传图片。
2024-12-02 20:37:18
1141
原创 【BUUCTF】ciscn_2019_c_1
1、kali分析文件2、运行文件:3、64位ida分析文件,在函数名那里可以看到有三个函数:main,encrypt,begin在main函数中调用了这两个函数,还调用了puts函数,puts函数是libc库中的函数encrypt函数中调用了gets危险函数;gets函数是libc库中的一个函数4、shift+f12查看字符串,这里没有调用system也没有后门,猜测是利用ret2libc。
2024-11-30 21:20:25
1237
原创 【BUUCTF】jarvisoj_level2
1、在kali中分析文件,该文件为32位文件,有NX保护。6、shift+f12查看调用了哪些函数,发现了后门函数。8、在segements中查看调用system函数的地址。3、使用32位的ida分析,这里调用了两个函数。4、双击第一个函数,存在栈溢出。5、查看buf数组的栈结构。
2024-11-30 09:33:43
206
原创 【BUUCTF】[第五空间2019 决赛]PWN5
n是将输出的字符的个数写入到内存中,所以最后存在地址中的值是输出字节的数量值,比如AAAA%10$n,输出为4。所以当我们发送密码为'4'时,就使这个式子成立:atoi(nptr) == dword_804C044(4==4)从文件/dev/urandom中读取4个字节的数据到变量dword_804C044中。4、获取偏移地址,偏移地址为10(0x61为a的十六进制)2、下载文件在kali中分析,32位的文件,无壳。3、使用32位的ida分析,查看主函数f5反编译。中的字符串转换为整数。
2024-11-29 08:52:51
252
4
原创 【BUUCTF】ciscn_2019_n_1
4、看到调用了func函数,双击查看,用到了gets函数,存在栈溢出,这里需要判断v2的值等于11.28125,才会执行脚本。3、使用64位的ida分析,找到main函数,F5反汇编。题目二:【BUUCTF】ciscn_2019_n_1。v1数组大小:44字节(0x30-0x04)2、下载附件在kali中分析。
2024-11-29 08:00:00
366
原创 【BUUCTF】warmup_csaw_2016
4、这里有两个数组都是64字节,在sprintf这里,将sub_40060D函数的地址存放在s中。题目一:【BUUCTF】warmup_csaw_2016。3、使用ida64分析文件,找到main函数,F5反汇编。2、下载附件,在kali中分析,64位,小端存储。5、查看函数sub_40060D,地址。03、权限不够时,添加权限就可以。04、使用r命令运行程序。05、使用n命令单步调试。01、使用gdb工具。
2024-11-29 07:30:00
390
原创 【BUUCTF】rip
payload = 'a' * 15 + 'A' * 8 + p64(0x401186+1).decode("iso-8859-1")//将一个整数地址转换为64位小端字节流,然后解码为字符串。5、再看左侧函数,发现了fun函数,fun函数,使用了system命令直接执行了脚本,fun函数的地址为:401186。3、使用ida64分析文件,查看主函数,使用了gets函数来读取数组,存在栈溢出。6、构造exp,覆盖数组的大小,使程序流指向fun函数的入口,从而执行脚本。题目二:【BUUCTF】rip。
2024-11-28 10:01:34
622
原创 【BUUCTF】test_your_nc
3、用64位ida分析,找到主函数,按F5进行反汇编,这里是直接就用系统函数执行了脚本。2、下载附件,在kali中分析文件,查看是否有保护机制。题目一:【BUUCTF】test_your_nc。4、再结合题目,test_nc。
2024-11-28 10:00:22
233
原创 kali安装pwndbg(小白也能懂)
1、确保安装前kali中已经安装了python3和pip以及gdb。sudo apt install gdb开始安装。3、cd到pwndbg目录下,运行安装脚本。2、克隆pwndbg仓库。这里我还没下载gdb。
2024-11-27 12:36:13
782
原创 【bugku】overflow2
我们通过构造rop链来执行system("/bin/sh")这个命令,在使用system函数时,它的第一个参数,需要放在rdi寄存器中,而这个参数就是/bin/sh。4、用ida64分析文件,先查看主函数,这段主函数的关键就是,它定义了一个数组大小是4,而read函数在读取的时候,是读取它的0x100ull这超出了数组的范围,会导致栈溢出。6、通过shift+f12来查看调用了哪些函数,这里看到了一个脚本函数,双击/bin/in查看程序地址,查看system函数调用的地址。
2024-11-27 08:00:00
1193
原创 ROPgadget安装
1、在安装这个工具之前需要先安装一个软件包python-capstone。当在全局中安装这个软件包的时候,会报错,这是因为kali对全局安装软件包有一些限制,所以我们在虚拟环境中安装这个包。tip:因为kali的环境机制,只能在虚拟环境中使用该工具,因此,每次使用只能在虚拟环境中使用,全局环境不能使用。进入虚拟环境:在/home/sxx路径下执行命令:source myenv/bin/activate。6、同样在虚拟环境中安装ROPgadget。4、在虚拟环境中使用pip命令进行安装。
2024-11-27 07:30:00
622
原创 安装pwntools
2、开启安装,在pycharm终端安装即可,使用pip install pwntools命令。1、在一次需要用到pwntools这个库的时候,发现没有。3、太难了,终于下完了,一定要保证网络。
2024-11-26 08:00:00
362
原创 checksec的安装和使用
2、需要加上选项,这个才是正确的。以这个二进制文件的结果分析为例,该文件没有保护机制。tip:太不容易了,安装一个工具,几乎把我抓狂。3、好出现问题了,cd 到checksec。2、cd到checksec,编译,安装。5、修改checksec权限为可执行。1、使用这个语法,很好是错的。6、查看版本,OK安装成功。
2024-11-26 07:30:00
956
4
原创 【bugku】overflow
4、用64位的IDA分析文件,按F5进入主函数,这段程序定义了一个48字节的数组s。memset()函数将数组s的前0x30字节初始化为0,read()函数以s作为缓存区读取了0x100个字节的数据。数组s的长度小于要读取的长度,这会导致缓冲区溢出。5、在函数那一栏,看到名为get_shell的函数,可能是一个后门函数,它的地址为0x400751。我们需要覆盖返回地址,因此需要填充 48 字节的缓冲区,再加上 8 字节的栈帧指针(EBP)。需要找到能调用该函数的入口,需要将数组s的部分进行覆盖。
2024-11-25 12:54:41
463
原创 【bugku】瑞士军刀
3、到这里的时候,等了很久还是没有反应,去查了一下才知道nc命令连接成功是不会返回任何信息的。2、在kali中使用nc 114.67.175.224 18935。4、接着看到题目描述ls,输入ls看到有flag文件。要保证kali是有网的状态才能使用这个命令。5、使用cat flag命令输出其中的内容。
2024-11-25 12:52:18
173
原创 【bugku】程序员本地网站
4、添上X-Forwarded-For: 127.0.0.1。2、题目提示从本地访问,不难想到,需要修改ip为本地ip。5、点击发送,得到flag。3、抓包,修改为本地ip。题目二:程序员本地网站。
2024-11-22 08:41:11
252
原创 bugku---你从哪里来
3、显而易见,是需要修改来源,有了思路之后,我们就开始抓包,修改来源。题目一:bugku---你从哪里来。5、使用referer修改来源。6、点击发送,得到flag。2、点击链接,页面提示。
2024-11-22 08:39:56
446
原创 题目二:bugku---成绩查询
1' union select 1,2,3,database()#(这里设置为-1是为了绕过数据库的逻辑验证,从而执行union后面的语句)1' order by 4# 和1' order by 5#2、看到这种框,想到的就是sql注入。看其他方法,转16进制,成功爆出字段。1' order by 4#正确。1' order by 5#报错。转为unicode编码,也是不行。6、查询fl4g表中字段信息。1'回显错误,1"回显正确。将表名转base64试试。7、查看字段中的信息。
2024-11-21 16:10:32
441
原创 题目一:bugku---game1
4、查看url有三个参数,score对应的就是我们结束这把游戏时获得的分数,sign的zM后面为这把游戏分数的base64加密。5、将抓到的包,发送到重放器,修改score的值大一些,sign的值为zM后面加上当前修改值的base64编码。6、修改完之后go一下,出现flag。3、正常玩一把结束后,用bp抓包。
2024-11-21 16:09:16
470
原创 [SUCTF 2019]CheckIn
4、访问网址:uploads/065831472858248584ff4993846d5065/index.php(抓包,看响应)2、先上传.user.ini,抓包,然后放包。3、接着上传test.jpg,抓包,放包。
2024-09-12 08:30:00
291
原创 [ZJCTF 2019]NiZhuanSiWei
4、password构造反序列化POC;1、源码,需要构造满足条件的三个参数。2、text利用data伪协议绕过。3、file利用php进行文件包含。
2024-09-12 08:00:00
351
原创 [极客大挑战 2019]PHP
7、因为username和password为私有属性,所以需要添加%00绕过,当修改属性的个数大于真是属性是,可以绕过__wakeup()1、页面提示有备份文件,使用kali中命令dirsearch扫描。3、访问www.zip之后会下载压缩包,里面有三个php文件。index.php是一个网页信息,但是里面有一小段php代码。2、我的字典不够,扫不出,看了别人的扫出来是www.zip。5、根据代码分析,构造exp。8、最终payload。
2024-09-11 10:58:58
754
原创 [ACTF2020 新生赛]Upload1
1、点开题目链接,页面显示如下,上传test.jpg里面包含一句话木马。3、不关浏览器的代理,在bp中将该包放行。2、使用bp抓包修改后缀,点击发送。5、在根目录中找到flag。
2024-09-11 09:15:48
958
原创 [极客大挑战 2019]Http
3、访问Secret.php发现页面有提示,它说它不是来自这个网页。6、添加X-Forwarded-For: 127.0.0.1。5、修改User-Agent为:Syclover。2、查看页面源码发现一个。
2024-09-10 19:28:28
639
原创 2024.9.9(极客大挑战 2019]EasySQL,[极客大挑战 2019]Knife)
2、遇到这样的登录界面,先尝试admin和万能密码(1' or 1=1#),拿到flag。3、打开蚁剑,空白处右键,选择添加数据,输入题目地址和连接密码。2、打开菜刀或者蚁剑,进行连接,这里我是用蚁剑。题目一:极客大挑战 2019]EasySQL。题目二:[极客大挑战 2019]Knife。5、双击链接,找到根目录,下滑找到flag。1、点开题目链接,来到下面的界面。1、点开链接,来到下面的页面。4、点击添加,成功添加。6、双击flag文件夹。
2024-09-10 18:34:04
364
原创 BUU SQL COURSE 1
11、查admin表中字段信息:"id,username,password"2、尝试admin+万能密码测试登录发现登录不了,看来这条路走不通了。4、先fn+f12查看页面,再fn+f5,找到原始请求的url。6、既然登录框不能测试sql,那在url中进行sql注入。7、接下来常规步骤:查询列数(由下面测试结果可知有两列)10、查询表名:admin,contents。12、获取admin表中用户名和密码的信息。3、查看那几条新闻,发现url有点奇怪。5、访问这个url,出现了新闻1的内容。
2024-06-17 20:18:37
1098
1
原创 BUUCTF---[MRCTF2020]你能看懂音符吗
将音乐符复制,发现不能在文本框粘贴,仔细观察发现下面有虚线,用上面的文本将这段音乐符格式刷。1、下载附件,是一个压缩包,解压,发现解压失败。2、用winhex分析文件,发现文件头不对。3、将文件头改为:52617221,保存。6、根据题目的描述,将音乐字符解码。5、在文档发现下面内容。4、解压得到word。7、使用在线工具解码。
2024-06-15 18:12:42
543
原创 kali中安装zsteg教程
3、可以将网络设置成如下后重启,访问百度看看能不能访问,若可以访问,则进行下一步。2、第一步需要保证虚拟机是有网络的,不然无法克隆。以上步骤已安装完zsteg工具,下面是利用该工具。4、查看源,删除源,添加新源。5、安装gem,zsteg。6、使用该工具分析隐写图片。
2024-06-13 23:23:10
3786
7
原创 bugku---misc---赛博朋克
1、下载附件解压之后是一个txt文本,查看文本的时候看到头部有NG的字样。5、将通道rgb置为0。出现了flag但是flag不明显。3、binwalk没发现奇怪的地方,分离出来还是图片。4、stegslove分析,切换图片没有发现奇怪地方。6、使用kali中自带的zsteg工具,提取隐写信息。2、把txt改为png后缀得到一张图片。
2024-06-13 23:01:38
423
原创 bugku---misc---ping
2、用wireshark分析,发现都是清一色的icmp报文,只能看看内容。3、点了几条流量,发现有个地方连起来是flag。4、最终将所有的拼起来,得到flag。1、下载附件,解压后是一个流量包。
2024-06-12 23:02:05
391
原创 bugku---misc---easy_nbt
3、查找资料发现:NBT文件是Minecraft游戏数据文件,其中包含以命名二进制标签(NBT)格式保存的数据。这种格式用于存储大量二进制数据,通常包含有关Minecraft世界的信息。NBT数据通常以.dat文件的形式存在于游戏存档文件夹中。这类文件可以通过修改后缀解压。4、将level.dat文件修改后缀为.zip解压之后得到下面文件。5、使用二进制文本编辑器打开,搜索flag。2、下载附件,解压之后得到。
2024-06-12 22:47:28
422
原创 bugku---misc---贝斯手
5、结合题目描述说的贝斯手,猜测应该是base解码。但是这段编码有点奇怪。一般==为base编码的结束符。这样看的话,这段文本可以拆成三段。这样一看,第二段很像md5哈希值,第三段像base编码。3、再结合图片,是古力娜扎,搜索了以下她的生日是1992。6、试着将第二段md5解密,第三段base58解码。2、zip需要密码,但是介绍里面给出了提示。4、破解flag.zip得到一段文本。5+58暗示着前面是5,后面是58。1、下载附件,解压之后得到下面文件。
2024-06-11 23:47:37
303
原创 bugku--web---baby lfi
5、构造url:/?3、构造url:/?2、页面提示使用language参数。4、这里提示包含关键的文件。
2024-06-11 23:12:07
279
原创 BUUCTF---web---[SUCTF 2019]CheckIn
7、先上传.user.ini文件,再上传图片马test.jpg。上传.user.ini后出现下面回显。.user.ini文件内容为:(文件命名必须和上传的图片马文件名一样,我这里是test.jpg)2、上传正常的jpg文件,提示内容不能有<?4、将上面的一句话木马先写成txt再修改后缀为test.jpg后上传。5、必须要是图片类型,将一句话木马,添加图片头后再上传。6、上传成功了,但是需要让图片马当成php代码来执行。10、使用系统函数,查看文件根目录,发现flag文件。9、测试,发现文件上传成功。
2024-06-11 18:30:48
1160
原创 攻防世界---misc---gif
3、看别人写的wp,说是白色表示0,黑色表示1。按照顺序写出来后得到。2、下载附件,是一堆黑白图片,看到这里我一头雾水。4、解码的时候,把逗号去掉。
2024-06-11 02:45:00
390
原创 BUUCTF---web---[GYCTF2020]Blacklist
7、查看flag字段中的信息,select被过滤了。8、使用handler打开表,并读取表中第一个信息。2、测试单引号和双引号,单引号报错,双引号没报错。4、使用堆叠注入测试,查看数据库名。6、查看FlagHere中字段名。1、来到题目连接页面。
2024-06-11 01:30:00
406
原创 攻防世界---misc---BotW-
2、查看图片属性,用winhex分析,没有发现奇怪的地方,用binwalk,接着使用foremost。4、经过查阅资料得知,这是希卡文字,下面这张图是对照表。3、得到两张图片,一张是原图,一张是特殊的字符。5、对应着符号,得到信息。1、下载附件是一张图片。
2024-06-10 00:06:54
1000
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人