- 博客(26)
- 资源 (9)
- 收藏
- 关注
原创 32c3 ctf writeup
write by ling.32c3 ctf总共做了3个题目,简单记录一下。1. forth只给了一个ip和端口,通过回显信息知道是yforth,网上直接下到了对应的源码。在源码中搜索system,找到了如下函数:yforth支持的命令都用一个code的宏定义出来。分析_system函数,发现需要带2个参数,一个为执行命令的地址,一个为执行命
2015-12-30 21:53:59 1599
原创 9447 ctf writeup
9447 ctfwriteup只做了一些低分值的逆向和pwn题目。1. flag finder& the real flag finder这两个题目一个1分,1个70分,没有看出难度有啥差别,都是明文比较,直接在比较的地方下断点,就看到flag了。 2.Hello joe程序最开始mmap了0x6000的空间大小。之后调用了6次间接跳转。经调试发现,这六次间接跳转分
2015-12-01 14:36:02 1886
原创 win7下关闭程序的aslr
import pefileimport structclass Patch: def __init__(self): self.data = '' def load_file(self, filename): f = open(filename, 'rb') self.data = f.read() f.cl
2015-05-02 03:04:11 3381
原创 0ctf login writeup
溢出点:比较明显的格式化。利用:程序进入这个函数之后,只有两次格式化的机会,之后程序就会调用exit退出了。显然第一次格式化是用来泄露用的,第二次是用来改写数据的。程序为PIE代码,且有aslr,因此所有地址都不是固定的,不过通过第一次格式化,肯定能得到login和libc的基地址。主要第二次格式化应该改写什么。因为程序开启了FullRelro,主程序中的函数指针(
2015-04-12 21:02:11 2021 4
原创 0ctf flagen writeup
溢出点:在leetify的处理中,程序将h转化为1-1,一个字符变成了三个字符。但是空间没有增加,存在栈溢出。利用:程序有栈canary保护,最开始想着找方法泄露出canary。看栈上有残留的canary存在,然后就使劲找泄露方法,奈何所有的处理函数中,字符串的末尾都添加上了\x00,因此没办法泄露。后来考虑栈溢出能覆盖些什么。栈canary、返回值、函数参数。函数的参数刚
2015-04-12 20:52:56 1997
原创 0ctf r0ops writeup
分析程序,发现sub_DEAD3AF返回的地方,修改了用户堆栈。之后程序基本就陷入jmp***;***;ret指令中。稍微跟了一下,发现实在太多。改了个代码,能打印出程序运行的rip,原理是使用ptrace。#include #include #include #include #include #include #include #include #i
2015-04-12 20:47:54 1455
原创 0ctf simpleapk writeup
Java层分析Init中生成flag.txt按键处理中,将用户输入与flag.txt中内容比较。直接在手机上找到了flag.txt文件,得到内容如下:0ctf{Too_Simple_Sometimes_Naive!!!}提交,发现不对。So分析:定位到init函数猜测应该是so库对read函数进行了hook,导致java层读取的数
2015-04-12 20:44:50 2031 2
原创 bctf securecom分析
Client端, 发现有好几个调用虚函数的地方,这应该就是去调用服务端的对应函数。 Server端,通过在CoRegisterClassObject下断,定位到了虚表的位置,看了看里面的函数,有实际功能的函数就几个。 客户端对用户输入做判断的地方,返回值需要>=0。在服务端函数中找了找,看有没有做判断的地方,刚好找到这个比较的地方。发现buf
2015-04-01 00:03:29 975
原创 bctf drunk分析
written by ling一、找溢出点下载下来,发现是个exe程序。最开始以为和去年alictf一样,是个windows平台下运行的程序,不过题目中并没有说运行在什么windows操作系统版本。分析程序,发现漏洞很明显。显然的栈溢出,同时通过该函数还可以进行内存dump。 二、分析程序开启的保护机制:首先通过查看程序依赖的dll,发现仅仅
2015-03-26 22:30:54 1004
原创 Bctf Zhongguancun分析
一、找溢出点分析程序,程序对手机或者表都定义了一个如下的结构体,其中前4个字节为一个虚表指针。一共可以添加16次这样的结构体,都布局在堆中。Struct item{ +0dword vtable; +4 charname[32]; +36char description[80]; +116dword price;
2015-03-26 21:20:23 952
原创 Samba漏洞(CVE-2015-0240)poc分析
written by ling1. 前言Samba漏洞(cve-2015-0240)是前几天公布的一个漏洞https://securityblog.redhat.com/2015/02/23/samba-vulnerability-cve-2015-0240/,今天看见国外有人公布了poc:https://gist.github.com/worawit/33cc5534cb5
2015-03-01 20:56:24 3303 1
原创 AddressSanitizer使用记录
http://theelectronjungle.com/2015/02/15/use-after-free-in-vlc-2.1.x/文中,对vlc的uaf漏洞进行分析,其中采用了AddressSanitizer对漏洞进行分析。下面为AddressSanitizer的简单使用。1. 准备官网:https://code.google.com/p/address-sanitizer
2015-02-28 23:53:26 6435
原创 2015移动安全挑战赛前2题writeup
看雪的移动安全挑战赛打了个酱油,只做出前2题,第三体加固了就不知道怎么弄了。Alicrack1:1 查看代码:Str2=table=Str3=pwStr1=inputStr4=bytesToAliSmsCode(str2, str1) table 和pw可以由logcat得到。 写了个java代码解密:import java.io.U
2015-01-27 20:44:05 2100
原创 android进程dump
1.查看进程pidps./gdbserver :1234 –attach 另一个终端:adb forward tcp:1234 tcp:1234编译gdb:configure --target=arm-linux-gnueabimake使用gdbgdbtarget remote :1234gcore
2015-01-24 00:38:35 2026
原创 Ubuntu查询安装包(apt-cache search)
今天编译一个软件,报了以下错误。缺少头文件,一般是需要安装dev包,但是试了下Sudo apt-get install openssl-dev发现没有openssl-dev包。 使用apt-cache search openssl | grep dev进行搜索,发现libssl-dev比较有可能是需要安装的。然后sudo apt-get instal
2015-01-21 22:16:40 4378
原创 delphi调用c的dll
编写库代码。extern"C"int__declspec(dllexport) hello2(inta, charsb[]){ printf("%s%d\n", sb, a); MessageBoxA(NULL, sb, sb, MB_OK); return 1;} Delphi代码:unit Unit1; interface uses
2015-01-19 13:08:20 821
原创 用python写pintool
1. 今天看到有人公布了一个用python来写pin的源码:https://github.com/blankwall/Python_Pin所以下载下来试了试。 2. Pin介绍Pin是intel出的二进制插桩工具,主要用于二进制程序分析。用户可以通过其提供的接口编写pintool。不过编写pintool都是用c++语言编写的。官网:https://softw
2015-01-18 23:33:19 3082
原创 纯ascii的shellcode编写
上次ssctf决赛出现了一次纯ascii的shellcodePYIIIIIIIIIIQZVTX30VX4AP0A3HH0A00ABAABTAAQ2AB2BB0BBXP8ACJJIXYJKMK9ICD6DJT019BOB47P1YYE4LK2Q6PLK2VDLLKD6ELLKQVDHLK3N10LKWFGH0OR8SEJS1IS1N1KOM13PLKRLFD7TLKW5WLLK0TGXRXS1Z
2015-01-18 01:18:23 7470 1
原创 Windbg下载微软符号表
今天本来想跟着调个漏洞,结果折腾windbg就折腾了半天,仅做个记录。1. 设置环境变量_NT_SYMBOL_PATHsrv*c:\symbols*http://msdl.microsoft.com/download/symbols 2. 翻墙发现不翻墙好像下载不了。 3. 发现有时候需要某个模块(dll或者exe)的pdb
2015-01-17 00:35:03 12168 1
原创 linux内核由struct file获取filename
参考:http://stackoverflow.com/questions/17885676/in-linux-how-can-i-get-the-filename-from-the-struct-file-structure-while-ste获取文件名:struct file *filp with filp->f_path.dentry->d_iname.获取全路径
2015-01-08 23:15:45 6276 1
原创 Gdb停在链接器入口点
1. 下断点动态链接的elf程序在内核加载完毕后,首先运行的是动态链接库的入口点,之后才是运行主程序。这里研究了下怎么在链接器入口点下断调试。 在主程序的main下断点(任意能断下来的地址即可)。查看内存布局,知道ld.so的加载基地址: 0xb7fde000 因为程序在调试状态下,程序的aslr是关闭的,因此再次在调试器中运行程序ld.so的加载
2015-01-04 23:52:17 2164
原创 ubuntu12.04 编译 最新qemu(v2.2.50)过程记录
发现在ubuntu上直接用 sudo apt-get install qemu方式安装的qemu偶尔会崩溃,因此尝试编译最新版本的qemu。1. 下载新qemusudo apt-get build-dep qemu # install the dependenciesgit clone git://git.qemu.org/qemu.git # get the source 2. c
2015-01-04 00:43:44 1427
原创 使用kvm进行linux内核开发
参考链接:https://blog.nelhage.com/2013/12/lightweight-linux-kernel-development-with-kvm/1. 内核编译kernel: kernel-3.12config: 从上述链接下载,去掉CONFIG_64BITmake bzImage2. 创建磁盘disksudo debootstrap wheezy ./w
2015-01-04 00:38:10 1843
原创 windows下将程序io重定向到某端口
一、引言在linux下要实现将程序io重定向到某端口只需要一条命令即可: socatTCP-LISTEN:1234,reuseaddr,fork exec:./test但在windows下却没有这样的命令,于是写了一个类似的工具。
2014-08-31 11:15:05 2220
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人