摘要:
qctf stack2: 服务器中/bin/bash字符串不能执行,构造rop调用system(sh)拿到shell。 exp: 网鼎杯: pwn1(格式化字符串漏洞) 没有给libc就需要泄露got地址然后查找对应的版本,查询网址:libc.ml,然后查看对于system的偏移。 fgo: 32位 阅读全文
摘要:
方法一: 通过寻找进程的thread_info结构,搜索匹配进程的cred结构,并修改其值获得root权限。thread_info(arch arm)结构如下: thread_info保存在栈的最低端,addr_limit表示进程可访问的地址空间,修改为0xffffffff可访问任意内核地址,tas 阅读全文
摘要:
最近在学习android内核漏洞,写篇博做个记录,也算是所学即用。 https://www.codeaurora.org/multiple-memory-corruption-issues-write-operation-qdsp6v2-voice-service-driver-cve-2016-5 阅读全文
摘要:
0x00测试环境 使用环境 备注 操作系统 Ubuntu15.04 虚拟机 内核版本 3.19.0-15-generic 漏洞来源 /fs/overlayfs/inode.c Before 2015.12.11 EXP c 提权 0x01原理分析: 1)概述 通常的内核漏洞我们会想办法通过执行com 阅读全文
摘要:
0x00 概述 在用swarm来管理dockers容器集群时默认开启了2375端口,通过远程访问docker run -H tcp://ip:2375 $command 可任意执行docker命令。这个漏洞在一段时间的影响还是挺严重的。通过这个远程访问接口,我么可以获得容器访问权限(get cont 阅读全文
摘要:
0x00 前言 1.SMEP(Supervisor Mode Execution Protection):一种减缓内核利用的cpu策略,禁止内核态到用户态内存页的代码执行(32位的addresses < 0x80000000),每一页都有smep标识来标明是否允许ring0的代码执行。有时为了方便实 阅读全文
摘要:
80pts: 栈溢出,gdb调试发现发送29控制eip,nx:disabled,所以布置好shellcode后getshell 100pts: 反编译看出漏洞为格式化字符串,nx:disabled,思路就是在栈上布置shellcode,但是限定输入长度16bytes,所以得先修改read size。 阅读全文
摘要:
当程序开启了nx,但程序有syscall调用的时候。这时栈溢出的利用就可以通过rop来执行syscall的59号调用execve('/bin/sh',null,null),这是这次alictf一道pwn的心得。 ida配合gdb定位程序漏洞如下: 通过Ropgadget找到构造syscall的rop 阅读全文
摘要:
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp shellcode保存到bss段上,然后ret返回即可: 这里有个坑点就是shellcode的截断问题,在exp-db上找了好多个都执行不了最后好友提醒用msf生成吧,过程如下: 二.encrypt 这是个堆溢出,由于pwn经验很少,做出的 阅读全文
摘要:
拿到程序先运行,简单的验证输入的flag正确与否。jeb加载apk文件 实在库文件里面验证,所以ida加载之,so文件是加密的,所以看不到关键验证函数,百度搜了下libhackme.so,出来这篇文章: 看了下调用的函数,可以确定这个so文件就是文章里面所述的加解密方法,加密修改elf头的e_ent 阅读全文