其他分享
首页 > 其他分享> > BUUCTF test_your_nc

BUUCTF test_your_nc

作者:互联网

  1. 安装pwntools
    在已安装python和pip后,直接
pip install pwntools
  1. 使用checksec,检测文件的保护机制
    checksec在下载好pwntools后就有

发现test文件为64位,部分开启RELRO,开启了NX防护和PIE

RELRO(ReLocation Read-Only)堆栈地址随机化:
    RELRO会有Partial RELRO和FULL RELRO,如果开启FULL RELRO,意味着我们无法修改got表。
Stack 栈溢出:
    如果栈中开启Canary found,那么就不能直接用溢出的方法覆盖栈中返回地址,而且要通过改写指针与局部变量、leak canary、overwrite canary的方法来绕过。
NX 缓冲区溢出:
    NX enabled就是意味着栈中数据没有执行权限,以前的call esp或者jmp esp的方法就不能使用,但是可以利用rop这种方法绕过。
PIE(Position-Independent Executable)地址无关可执行文件:
    PIE enabled地址随机化选项就意味着程序每次运行的时候地址都会变化,而如果没有开PIE的话那么No PIE (0x400000),括号内的数据就是程序的基地址。

  1. 静态分析test文件,利用ida64打开
int __cdecl main(int argc, const char **argv, const char **envp)
{
  system("/bin/sh");
  return 0;  
}

直接NC就行
4. 利用NC(netcat),其主要用途是建立和监听任意TCP和UDP连接,支持ipv4和ipv6,因此,可以用来网络调试、端口扫描等。

NC指令:nc ip port
-z:连接成功后立即关闭连接,不进行数据交换
-v:输出详细的交互内容

  1. 得到flag
    flag{3d8efe4b-dd63-4242-a89f-ccdc229ee880}




参考链接:
https://blog.csdn.net/bing_Max/article/details/119947896
https://www.cnblogs.com/HacTF/p/8052175.html
https://www.oschina.net/translate/linux-netcat-command

标签:BUUCTF,NC,PIE,RELRO,pwntools,地址,栈中,test,your
来源: https://www.cnblogs.com/darkcyan/p/16304555.html