pwn
Jason_ZhouYetao
这个作者很懒,什么都没留下…
展开
-
pwnable.kr之simple login
这题与之前所作的题目不同,不同点在于这题不存在ssh连接至其他的服务器,需要自己在脚本中体现。首先,下载文件,放到IDA里跑一跑(这里说明,要注意下载下来的文件是32位还是64位的文件,这关系到能不能正确打开并得到反汇编代码的问题),得到main函数的伪代码:int __cdecl main(int argc, const char **argv, const char **envp)...原创 2018-07-14 21:30:49 · 643 阅读 · 0 评论 -
Javisoj--PWN--fm
首先IDA看一波:看到这里就可以很清楚的知道这个肯定是一个格式化字符串的题,因为这个涉及到了更改栈中的元素的值,第一眼看到这个X,你可能有点慌,因为你没有发现有关X的任何定义,不过没关系,没有任何定义就出现在IDA中的变量,他一定就是一个全局变量,在pseudocode界面直接双击x,发现界面发生了跳转:这个可以直接看到x的地址:0x804A02C,这个在之后的格式化字符串中有着很...原创 2018-12-09 20:30:17 · 1072 阅读 · 0 评论 -
无保护机制的PWN溢出(一)
#include <stdio.h>#include <string.h>#include <unistd.h>#include <fcntl.h>#include <stdlib.h>void login(){ char name[50]; gets(name); printf("Welcome %syou are ...原创 2018-09-10 14:53:51 · 680 阅读 · 0 评论 -
搭建一道PWN题
最近接到任务,说要出几个pwn题,所以就去熟悉了一下PWN题的搭建:第一步,准备一道pwn题的源码#include<stdio.h>int main(){ int a=1; float key=2018.81,input; if (a==2) { printf("input your key:\n"); scanf("%f",&input); ...原创 2018-08-12 16:07:05 · 3219 阅读 · 1 评论 -
pwnable.kr之fd
这题需要知晓c语言中的atoi函数atoi函数这题cat fd.c之后,发现源代码#include <stdio.h>#include <stdlib.h>#include <string.h>char buf[32];int main(int argc, char* argv[], char* envp[]){if(argc<2){...原创 2018-06-17 20:27:28 · 246 阅读 · 0 评论 -
pwnable.kr之asm
这题我认为主要考察的知识点一个是沙箱中可用函数还有就是shellcode这个大头问题。首先看看这道题目的代码:root@kali:~# ssh asm@pwnable.kr -p2222asm@pwnable.kr's password: ____ __ __ ____ ____ ____ _ ___ __ _ ____ | ...原创 2018-07-23 17:46:26 · 598 阅读 · 0 评论 -
pwnable.kr之leg
首先看看asm代码:(gdb) disass mainDump of assembler code for function main: 0x00008d3c <+0>: push {r4, r11, lr} 0x00008d40 <+4>: add r11, sp, #8 0x00008d44 <+8>: sub sp, sp, #1...原创 2018-07-08 19:58:06 · 584 阅读 · 0 评论 -
实验吧--溢出--加减乘除
这题是pwn的一道算是基础题,直接对其解法进行讲解。这里介绍一个pwntools的工具,运用pwntools这个工具就不需要用c写代码,再gcc编译,最后再objdump,所以这个很好的结合了python和汇编,接下来就是写脚本了:#!/user/bin/pythonfrom pwn import *code = """.global _start_start: ...原创 2018-07-18 19:54:44 · 548 阅读 · 0 评论 -
pwnable.kr之cmd1
这题首先要指导关于Linux通配符的知识Linux通配符:这个大哥的博客已经总结的很详细了接下来进入正题: 发现这个还是很简单的,只需要运用通配符就可以解决了,可以直接cat flag,直接输入./cmd1 "/bin/cat f*"就可以得到flag了。有啥错误请指正,谢谢啦~ ...原创 2018-06-12 14:57:52 · 210 阅读 · 0 评论 -
pwnable.kr之otp
这个可以说是考察一个全新的知识点,不是栈溢出什么的,只是限制创建文件的大小,具体的ulimit命令可以参考这个网站ulimit命令详解打开题目的otp.c发现是对于passcode进行比较所以对于其创建文件的大小限制为0就可以了;ulimit -f执行这个命令就可以了,之后写一个简单的python脚本,如下:#!/user/bin/pythonimport subproc...原创 2018-07-15 15:56:30 · 719 阅读 · 1 评论 -
pwnable.kr之random
首先查看题目int main(){ unsigned int random; random = rand(); // random value! unsigned int key=0; scanf("%d", &key); if( (key ^ random) == 0xdeadbeef ){ printf("Good!\n"); system("/bin/ca...原创 2018-07-02 16:01:20 · 270 阅读 · 0 评论 -
pwnable.kr之passcode
这题主要是的难点是GOT覆写技术的运用。这里推荐几篇文章有关栈溢出和GOT表和PLT表知识的文章。栈溢出从入门到放弃(上)栈溢出从入门到放弃(下)GOT表和PLT表知识详解话不多说,先看正题。#include <stdio.h>#include <stdlib.h>void login(){ int passcode1; int passco...原创 2018-06-27 03:32:10 · 357 阅读 · 0 评论 -
PWN学习笔记(1)
首先来说说pwn,这个水还是很深的,不过我学习pwn的原因是我觉得pwn是最接近黑客的东西,当然web也是我考虑的一个方向,但是pwn更加偏向于对代码这方面的知识,所以我也就选择了pwn这个方向。0x1首先pwn的最基本的东西就是c语言,一般的pwn题目都是以c代码来出的题目,所以学好c是做pwn的前提,之后还需要一定的Linux命令的基础和各种插件的使用(比如在溢出这块还是以gdb的pe...原创 2018-07-16 01:10:27 · 2924 阅读 · 5 评论 -
pwnable.kr之collision
这题先看题目源码#include <stdio.h>#include <string.h>unsigned long hashcode = 0x21DD09EC;unsigned long check_password(const char* p){ int* ip = (int*)p; int i; int res=0; for(i=0; i<5...原创 2018-06-18 23:35:34 · 482 阅读 · 0 评论 -
pwnable.kr之brain f**k
这个问题还是很有趣的东西,这题是pwnable.kr中的第一题拥有libc库的题目;首先说一下libc库作用,libc库的作用就是保存了可以用的函数,libc库提供C语言中所使用的宏,类型的定义,字符串操作符,数学计算函数以及输入输出函数等。正如ANSI C是C语言的标准一样,libc只是一个函数库标准,每个操作系统都会按照该标准对标准库进行具体实现。通常我们所说的libc是特指某个操作系统的...原创 2018-07-31 16:01:33 · 333 阅读 · 0 评论 -
pwnable.kr 之input(看了好久好久的题目和网上的wp....)
本来这题也没有什么的思路,在看了一位大佬的博客之后,自己感觉还有一点的细节适合我们的这些萌新去学习。input解题input细节其他的我看了好久的是,其中的细节问题,其中一个是题目虽然是input,但是在访问的适合却是input2@pwnable.kr,这个需要注意一下,而且在上传文件的是在你最原始的界面,也就是你一开始打开终端的root界面,之后执行命令scp -P ...原创 2018-06-11 18:47:02 · 477 阅读 · 0 评论 -
hacknote--PWN的堆入门
第一步还是进行逆向的功能分析,顺便观察有无敏感函数,诸如:/bin/sh、cat flag等等 看了看发现还真的有,那这个题目就大大得简化了,接下来进行进一步的逆向分析: add_note:unsigned int add_note(){ _DWORD *v0; // ebx signed int i; // [esp+Ch] [ebp-1Ch] int siz...原创 2019-02-24 22:08:26 · 1246 阅读 · 0 评论