xctf-pwn-“warmup & welpwn & monkey”

warmup

这个是没有附件的,吓了我一条,因为我没有碰见过这样的题目(本人小菜一个)便开始查资料。
漏洞挖掘 有三种方法:白盒代码审计、灰盒逆向工程、黑盒测试。其中黑盒的Fuzz测试是效率最高的一种,能够快速验证大量潜在的安全威胁。

Fuzz测试,也叫做“模糊测试”,是一种挖掘软件安全漏洞、检测软件健壮性的黑盒测试,它通过向软件输入非法的字段,观测被测试软件是否异常而实现。

Fuzz测试的概念非常容易理解,如果我们构造非法的报文并且通过测试工具打入被测设备,那么这就是一个Fuzz测试的测试例执行,大多数测试工程师肯定都尝试过这种测试手段。

对于网络协议漏洞挖掘来说,Fuzz测试也就意味着打入各种异常报文,然后观察设备是否有异常。

其实就是"瞎"输入进去看看有什么漏洞,但也不是真正的"瞎"输入,而是有目的的输入。
也可以理解成爆破它。
所以可以利用脚本对其进行测试(爆破)
在这里插入图片描述
脚本如下:
在这里插入图片描述
这里提醒一点,就是运行到interactive()这里不一定就能得到flag,需要退出继续运行,直到flag被打印出来,Ctrl+C就可以退出继续运行。


welpwn

这里用EP再ida打开,看看里面的内容。
在这里插入图片描述
看看int __fastcall echo(__int64 a1)这个函数。
在这里插入图片描述
这里说一下语句:
对于输出流,fflush()通过流的底层write()函数对所有用户空间缓存的数据进行强制写操作,写到所给定的输出或更新流(如stdout、stderr)
%s 是写出字符串。在这里插入图片描述
栈是不可执行的,NX保护是开启的。这时我们要注意两个地方buf和s2,buf在栈中是差一点溢出到eip地址,s2其实是可以进行溢出的。
然后就不会了,查阅了很多资料!终于又学到了很多知识,首先看它运行到echo()这里开头有个复制,将buf赋给s2直到遇到0截止,所以说s2是可以将eip给修改一下的。这里用gdb看一下,先b了三个点main和read和echo()这个三个,先r再c,输入一大串垃圾数据看看栈堆中是个什么情况。
在这里插入图片描述
还有一点就是栈,系统栈,buf用了一个栈(旧),然后到s2这里再用了一个栈,它的栈底下面就是buf的栈顶,就是buf和s2是连在一起的。
此时我们要把0x70x7fffffffdb80到0x7fffffffdb90这里的数据进行pop弹出,然后再ret下一个我们可控的数据。
所以前24个字节是不可以有其它地址数据(因为其会影响到复制)此时我们是可以找到四个pop和一个retn的地址。
在这里插入图片描述
这样就是s2溢出返回到这里再对buf进行返回地址。
新的知识点LibcSearcher,可以通过它来找出偏移。
struct.error: required argument is not an integer这个是python的报错,应该就是我们引入了pwn函数和LibcSearcher函数(from import *此形式)报错,所以我们应该用import这个直接引入库
不过这里会出现个错误!一直未解决?
在这里插入图片描述
所以这到题一直卡着了。然后经过不断实验,估计文件内部的open打开的问题吧!不太清楚。
但是 我相信,肯定有不止一种方法,比如ROP万能链。
但是 它依然失败了。


monkey

发现没见过,不知如何下手!
然后根据逆向的经验,nc了一下,
在这里插入图片描述
发现有个js>这个符号,那就在ida中打开搜索字符串,通过这种手段找到主函数,要不然根本找不到主函数!
在这里插入图片描述
其实感觉有点想fuzz,黑盒测试。它应该是个沙盒逃逸的题目。此时我们在nc一下,发现它和终端很相似。
就是个js库,所以是跟js函数有关。
nc下直接os.system(’/bin/sh’)就取得终端了。
在这里插入图片描述
这样子就好了!


知识点

FTP Server 服务器是一种专供其他电脑检索文件和存储的特殊电脑。文件服务器通常比一般的个人电脑拥有更大的存储容量,并具有一些其他的功能,如磁盘镜像、多个网络接口卡、热备援多电源供应器。到后来,文件服务器逐渐进化成带有RAID(Redundant Array of Independent Disk)存储子系统和其他高可用特性的高性能系统。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值