这道题会在behemoth6_reader中执行用户提供的shellcode。我开始想的是直接就在那里把密码读取了,但reader没有setuid,所以权限不够。这样的话就只能写一个输出HelloKitty的shellcode了。代码如下
注意reader会检查shellcode中是否包含0x0b,而那正好是字符串的长度,作为write的第3个参数。于是我是先赋为10,再加一。
编译保存为shellcode.txt,然后可得到密码
这道题会在behemoth6_reader中执行用户提供的shellcode。我开始想的是直接就在那里把密码读取了,但reader没有setuid,所以权限不够。这样的话就只能写一个输出HelloKitty的shellcode了。代码如下
注意reader会检查shellcode中是否包含0x0b,而那正好是字符串的长度,作为write的第3个参数。于是我是先赋为10,再加一。
编译保存为shellcode.txt,然后可得到密码