1. asm
  2. static 和 const
  3. 有一种权限叫做 suid
    1. house of cat

asm

用 intel 风格写内联汇编

https://stackoverflow.com/questions/199966/how-do-you-use-gcc-to-generate-assembly-code-in-intel-syntax

static 和 const

const 是不可修改的,所以属于不可写的 text 段。static 可以修改,但是在函数之间是保持不变的,所以单独放在 data 段。

所以说这一段代码是可以执行的。

const int main[] = {1213741674,011044140377,030722173061,01307,784287744,04433460142,012600064162,113224,0100000010,2421620736,1423376712,47432,02600001,0122000000,022044110317,022044110127,022044110124,022044110137,022044110126,022044110132,022001207620};

参考这个 Main is usually a function. So then when is it not?

有一种权限叫做 suid

SUID 的目的就是:让本来没有相应权限的用户运行这个程序时,可以访问他没有权限访问的资源。

house of cat

[原创]House of cat新型glibc中IO利用手法解析 && 第六届强网杯House of cat详解-Pwn-看雪-安全社区|安全招聘|kanxue.com