今天中午开始在复现寒假里hgame遗漏的题目以及当时没来得及学的setcontext,mprotect,IO FILE等。跟着白夜的脚本在不断调试,看的有点累了就找了道简单题做做。
这里就是漏洞了,写入name的时候覆盖随机数种子,再用给我们的libc指定随机数种子循环50次发送。
目前阶段其实做这题意义不是很大,但其实ctypes库的知识我第一次接触,想到chuj学长当年刷了很多XCTF上的题目,于是去他的博客翻了一下,结果真有这道题的WP,而且也写到了ctypes库的简单的知识,我斗胆引用一下
ctypes是python的外部函数库,一方面,顾名思义,提供了C中的一些数据类型;另一方面,允许我们调用 DLL 或共享库中的函数(嗯,DLL共享库什么的,我还得再学一下)。
在Linux下,我们可以通过cdll类来导入动态链接库,并很容易的调用其中的函数。在Windows下还有windll和oldell对象可以来导入动态链接库。
我们可以创建一个对象,就像上文exp中libc = cdll.LoadLibrary(“libc.so.6”)一样,这样libc就封装了libc.so.6中的成员(应该可以这么说吧),然后我们就可以通过libc.rand()这样的语句来调用库中的函数。
如果您喜欢此博客或发现它对您有用,则欢迎对此发表评论。 也欢迎您共享此博客,以便更多人可以参与。 如果博客中使用的图像侵犯了您的版权,请与作者联系以将其删除。 谢谢 !