- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 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
1222
原创 Javisoj--PWN--fm
首先IDA看一波:看到这里就可以很清楚的知道这个肯定是一个格式化字符串的题,因为这个涉及到了更改栈中的元素的值,第一眼看到这个X,你可能有点慌,因为你没有发现有关X的任何定义,不过没关系,没有任何定义就出现在IDA中的变量,他一定就是一个全局变量,在pseudocode界面直接双击x,发现界面发生了跳转:这个可以直接看到x的地址:0x804A02C,这个在之后的格式化字符串中有着很...
2018-12-09 20:30:17
1033
原创 MCTF--PWN
被催了好久的PWN的WP,那今天就写一下前一段时间我们校赛的PWN题的详解吧。猜猜标志直接输入大量的字符溢出就有标志了,走后门吗?做PWN嘛,第一步当然显示checksec一波,可以看到这个还是对萌新很友好的,虽然是一个64位的程序,但是什么保护措施都没有开,这样的话,方法就都可以运用了;第二步,就是扔到对应的64位的IDA中去看一波伪代码,在函数栏发现了一个好东西...
2018-12-06 01:23:49
1083
原创 MCTF -- CRYPTO
密码学的题,这次也都是最基础的题,除了RSA有些难度需要理解之外,其他的都是最基础的古典密码#首先看到“#”,就想到了栅栏密码,看到密码是“TWhMRUNlTHBUZV99RnBze19sc2FF”,很明显的基加密,解密之后得到“MhLECeLpTe_} Fps {_lsaE”,这边已经有点旗的格式了,所以直接百度栅栏在线解密,给出在线解密的网址https://www.qqxiuzi....
2018-11-26 22:04:05
780
原创 MCTF--MISC
之前结束了我们学校的校赛,为了师弟更好的学,那就出个详细的wp吧,首先先讲杂项MISC,这次的MISC其实还是非常简单的。一笔画完这题其实只是一个简单的编程题,运用的思想就是递归,这个题不多解释,直接给出脚本:#!/usr/bin/env python# encoding: utf-8from pwn import *# * 0# # 2# . 1p=re...
2018-11-26 19:24:01
820
原创 JAVIS OJ--RE--DD-Hello
pwn的看的有点头疼,现在来看看逆向的一个题。首先IDA打开进行分析,发现函数少得可怕,这就可以一步步分析函数了:把函数进行反汇编就可以发现进行flag比较的函数了,阅读发现这个加密其实就是一个简单的异或,v2起到的作用就是一个异或的中介,看v2的赋值语句发现其实很简单就可以理解了,就是start函数的地址减去sub_100000c90函数的地址再向后移两位再异或上一个值就可以了,关于...
2018-09-19 14:40:03
435
原创 无保护机制的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
638
原创 搭建一道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
3116
1
原创 实验吧--密码学--古典密码
其实这题的难度降低了很多,直接告诉了你它的格式,这么一来第二个条件的就没有显得那么的重要了;首先,看到那么多的数字,第一步就想到的是ASCII解码,直接给出脚本跑一跑就好了:#include <stdio.h>#include <string.h>#define maxsize 100//author_ZhouYetaoint main(){ int ...
2018-08-05 23:14:29
731
原创 实验吧--密码学--rsarsa
这个也是最基础的一题,这只是一个考察RSA算法的一个最简单的一个概念,所以可以直接给出脚本就可以了:import mathp=9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777...
2018-08-05 21:45:11
1324
原创 实验吧--密码学--try them all
这题其实只是考察了一个加盐加密,只要了解了这个加密方式之后,接下来的其实只是一个破解MD5的过程,不过与其说是破解MD5,其实是去查询MD5,因为到目前为止,这个密码是不可逆的,不过这一条现在好像是需要付费的。。。。接下来就介绍一下加盐加密,这个加密方式其实就是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“(salt)的n位随机数相关联。无论何时只要口令改变,随机数就...
2018-08-05 20:58:17
593
原创 实验吧--密码学--变异凯撒
因为这个问题已经很明确是凯撒密码,所以直接通过ASCII之间的对比就可以了,因为开头的格式也已经知道了,所以直接减去,发现增加的个数是从5开始递增的,所以知道了之后就可以直接写脚本:#include <stdio.h>#include <string.h>int main(){ char a[] = "afZ_r9VYfScOeO_UL^RWUc"; cha...
2018-08-05 20:44:18
813
原创 实验吧--密码学--围在栅栏中的爱
这个首先一看就知道是莫斯密码的格式,所以先进行莫斯解密,得到第一个解密之后的明文:KIQLWTFCQGNSOO;再根据提示的“最近一直在好奇一个问题,QWE到底等不等于ABC?”,这句话可以告诉我们接下来的解密就是密码代换,这个类似于凯撒加密,只是其中的密码本并不是按照字母的顺序,而是按照键盘的从左到右,从上到下的顺序来排列的,具体的脚本如下:#include<string.h&g...
2018-08-05 16:13:03
422
原创 pwnable.kr之brain f**k
这个问题还是很有趣的东西,这题是pwnable.kr中的第一题拥有libc库的题目;首先说一下libc库作用,libc库的作用就是保存了可以用的函数,libc库提供C语言中所使用的宏,类型的定义,字符串操作符,数学计算函数以及输入输出函数等。正如ANSI C是C语言的标准一样,libc只是一个函数库标准,每个操作系统都会按照该标准对标准库进行具体实现。通常我们所说的libc是特指某个操作系统的...
2018-07-31 16:01:33
316
原创 pwnable.kr之asm
这题我认为主要考察的知识点一个是沙箱中可用函数还有就是shellcode这个大头问题。首先看看这道题目的代码:root@kali:~# ssh asm@pwnable.kr -p2222asm@pwnable.kr's password: ____ __ __ ____ ____ ____ _ ___ __ _ ____ | ...
2018-07-23 17:46:26
572
原创 实验吧--溢出--加减乘除
这题是pwn的一道算是基础题,直接对其解法进行讲解。这里介绍一个pwntools的工具,运用pwntools这个工具就不需要用c写代码,再gcc编译,最后再objdump,所以这个很好的结合了python和汇编,接下来就是写脚本了:#!/user/bin/pythonfrom pwn import *code = """.global _start_start: ...
2018-07-18 19:54:44
516
原创 实验吧--安全杂项--ROT-13变身了
做pwn做得头皮发麻,所以来做一下杂项来解解闷,正好也是我喜欢的密码学首先根据题目的提示rot-13,所以先对题目所给出的进行编码这个一看便是ASCII的代码,但是考虑到数据多还要进行凯撒的移位,所以自己写一个脚本来解答#include <stdio.h>#include <string.h>#define maxsize 100//author_Z...
2018-07-16 14:50:48
1229
2
原创 PWN学习笔记(1)
首先来说说pwn,这个水还是很深的,不过我学习pwn的原因是我觉得pwn是最接近黑客的东西,当然web也是我考虑的一个方向,但是pwn更加偏向于对代码这方面的知识,所以我也就选择了pwn这个方向。0x1首先pwn的最基本的东西就是c语言,一般的pwn题目都是以c代码来出的题目,所以学好c是做pwn的前提,之后还需要一定的Linux命令的基础和各种插件的使用(比如在溢出这块还是以gdb的pe...
2018-07-16 01:10:27
2827
5
原创 pwnable.kr之otp
这个可以说是考察一个全新的知识点,不是栈溢出什么的,只是限制创建文件的大小,具体的ulimit命令可以参考这个网站ulimit命令详解打开题目的otp.c发现是对于passcode进行比较所以对于其创建文件的大小限制为0就可以了;ulimit -f执行这个命令就可以了,之后写一个简单的python脚本,如下:#!/user/bin/pythonimport subproc...
2018-07-15 15:56:30
707
1
原创 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
612
原创 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
538
原创 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
255
原创 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
325
原创 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
450
原创 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
227
原创 pwnable.kr之cmd1
这题首先要指导关于Linux通配符的知识Linux通配符:这个大哥的博客已经总结的很详细了接下来进入正题: 发现这个还是很简单的,只需要运用通配符就可以解决了,可以直接cat flag,直接输入./cmd1 "/bin/cat f*"就可以得到flag了。有啥错误请指正,谢谢啦~ ...
2018-06-12 14:57:52
196
原创 pwnable.kr 之input(看了好久好久的题目和网上的wp....)
本来这题也没有什么的思路,在看了一位大佬的博客之后,自己感觉还有一点的细节适合我们的这些萌新去学习。input解题input细节其他的我看了好久的是,其中的细节问题,其中一个是题目虽然是input,但是在访问的适合却是input2@pwnable.kr,这个需要注意一下,而且在上传文件的是在你最原始的界面,也就是你一开始打开终端的root界面,之后执行命令scp -P ...
2018-06-11 18:47:02
458
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人