Windows的vscode使用wsl中的python

Posted on 2018, Sep10, Monday 21:14:21 • Tagged with windows, vscode

由于个人习惯,exp一般都在windows使用vscode编写,然而windows下无法装上pwntools,一直想使用wsl中的python。然而正常情况下vscode是不支持使用wsl中的python,需要进行一番魔改,令其能拥有自动补全,查找引用等功能。

效果

pwntools自动补全

查找引用

单步调试

配置命令转发

首先在wsl中安装autopep8,pylint,ctags,python等软件

命令转发之前有人写过一个wslgit,作用是将命令从windows转发到linux,拿下来魔改一下就可以使用

项目地址:https://github.com/andy-5/wslgit

由于已经配置完成,最后附件会提供一个整合包

只需要将整合包内如下的文件解压

随后按下图修改vscode的配置 …


Continue reading

网鼎杯-2018线下记录

Posted on 2018, Sep7, Friday 09:36:36 • Tagged with ctf, writeup

说明

此writeup包含两天的pwn题,exp和二进制文件见附录

正文

这次线下并没有以CNSS来打,而是以DURA(Dianzikeji University Retired Ailliance)来打的。然而因为操作失误,把CNSS挤出了半决赛。。。。

不得不吐槽这次线下,比当时强网杯操蛋多了,怎么打个ctf还要断网的呢 …


Continue reading

网鼎杯Bin题部分writeup

Posted on 2018, Aug31, Friday 20:23:43 • Tagged with ctf, writeup


Continue reading

Windows下配置shell

Posted on 2018, Apr6, Friday 01:49:47 • Tagged with windows

众所周知,windows下的cmd就是一坨屎,不好用还不好看,今天终于下了决心抛弃cmder,和gitbash,重新配一个好用的shell

update:2018-7-31 19:30:43

最近被babun和conemu恶心坏了,又滚回了wsl+powershell

更新powershell的配置方法,仅限win10


Continue reading

[0CTF-2018] blackhole

Posted on 2018, Apr2, Monday 23:16:42 • Tagged with 0ctf-2018, ctf-pwn, pwn-stack

分析

日哦,一看这题,64位,只有一个read有溢出,syscall禁用了一堆,只留下 open,read,,mprotect,,exit,拿头做题。(懒得放图了,没啥意思)

难道又要将mprotect的地址解析出来去调用???

等等,这题有libc,为啥有libc呢

开了一晚上的脑洞后,惊讶的发现了一件事情:

最后1byte为0x80时,指向的是alarm,如果是0x85就是syscall!

只需调用read,覆写alarm的got表的最后1byte为0x85,就可以通过syscall调用mprotect了!

啥,x64不会调用3个参数的函数?init函数的那几个gadget了解一下

就这样很轻易的让bss段变成可执行的了 …


Continue reading

ret2_dl_runtime_resolve

Posted on 2018, Apr2, Monday 23:07:46 • Tagged with pwn, pwn-stack

附录

ret2_dl_runtime_resolve: https://ctf-wiki.github.io/ctf-wiki/pwn/stackoverflow/advanced_rop/


Continue reading

[0CTF-2018] babystack

Posted on 2018, Apr2, Monday 22:44:15 • Tagged with 0ctf-2018, ctf-pwn, pwn-stack

分析

这题,开门有惊喜

整个题就一个read,也只有这有一个溢出点,然后,啥都没了。

emmmmm,同学,你听说过安利吗(雾)

不对,你听说过got表吗,好的,听说过

那,同学你 听说过解析解析got表的函数嘛,就是把动态链接库的函数地址写到got表里面的家伙

emmmmmm,这啥啊,咋回事啊(黑人问号.jpg)

那么,ret2_dl_runtime_resolve 了解一下吧

好的,你已经了解了ret2_dl_runtime_resolve,那么这个题就变得十分简单了 …


Continue reading

[0CTF-2018] writeup-list

Posted on 2018, Apr2, Monday 22:41:02 • Tagged with ctf, 0ctf-2017

1. Reverse

2. PWN

babystack: [0CTF-2018] babystack

blackhole: [0CTF-2018] blackhole

3. Crypto

4. MISC

5. Web

附录

NULL


Continue reading

ptmalloc总结

Posted on 2018, Mar22, Thursday 15:09:34 • Tagged with pwn, heap

花了几天看了一下ptmalloc的源码,同时也解答了心中的一些疑惑,一些关键的流程,以及一些利用技巧在这总结一下

malloc

malloc的源码在malloc.c中,推荐搜索注释 —— malloc ,_int_malloc为malloc的本体

malloc流程如下:

// av为当前堆的arean的指针 nb为申请的大小被转换为chunk大小

if (av == NULL) //  如果是main_arean则在第一次malloc就被初始化了,不会在这初始化
  return sysmalloc(nb, av);

if (nb <= global_max_fast) { //global_max_fast是glibc中的一个全局变量
  // 如果有fastbin则脱出fastbin并返回
}

if (in_smallbin_range (nb …

Continue reading

[XDCTF-2017] easyeasy

Posted on 2017, Oct6, Friday 18:16:27 • Tagged with xdctf-2017, ctf-pwn, pwn-stack

分析

拿到题目后F5,发现是个菜单题,并且给出了libc

linux下如何加载指定的so文件,可以见: Linux 加载动态链接库原理分析

先挑重点说吧

sub_400B4B

在这里 qword_6020D0 这个全局变量被分析出了奇怪的语法

考虑它是一个结构体一样的东西,根据F5手动创建一个结构体

创建后F5便正常了许多

在阅读源码后可以得知,在执行 sub_400985 时可以将 fun4 的最后一个byte重写,也就是说在

(*(void (**)(void))(*qword_6020D0)->fun4)();

可以执行到 0x400A**

在翻看汇编代码时发现 …


Continue reading