ctf

CTF相关的学习平台

戏子无情 提交于 2019-12-03 11:35:16
CTF比赛主要表现以下几个技能上:逆向工程、密码学、ACM编程、web漏洞、二进制练习、网络和取证。可以从中选择并关注一个你已经上手的技能方向。(Web、Pwn、RE、Mobile、Crypto) [1] http://www.freebuf.com/articles/others-articles/36927.html 4、相关网站及论坛 [1] 实验吧(自己有账号) http://www.shiyanbar.com/ [2] 看雪学院 https://www.kanxue.com/ [3] CTF社区: http://www.bugku.com/ [4]知乎帖 https://www.zhihu.com/question/47498673 (针对CTF,大家都是怎么训练的?) https://www.zhihu.com/question/3050559 5、常用网址与比赛工具 [1] 破解密码的所有工具 https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=32105 [2] 编码解码常用网址 http://web.chacuo.net/charseturlencode 来源: https://www.cnblogs.com/Erma/p/11794197.html

CTF_论剑场-web26

こ雲淡風輕ζ 提交于 2019-12-03 11:18:36
这道题思路很简单,但是有一些点需要注意,从头看起吧 题目中num和str两个变量都是以get方式提交的。str变量进行正则表达式匹配,规则” /\d+/sD “的意思str匹配任一一个十进制的数字。 preg_match 函数的作用是执行正则表达式,sD是修饰用的,那么我们可以确定str是字符串吧。然后题目又给了result变量,中间用and 连接,则两边只要一边为True即可执行下面的if语句从而输出flag.最后构建的payload为 : ?Num=1&str=aaa 相关知识点链接: 正则表达式: https://www.cnblogs.com/dump/p/8269957.html and && or ||的区别: https://blog.csdn.net/asty9000/article/details/80652064 来源: https://www.cnblogs.com/HelloCTF/p/11793293.html

ctf pwn ida 分析技巧

早过忘川 提交于 2019-12-03 02:57:18
几年前的笔记,搬运过来 --- 1 先根据运行程序得到的信息命名外围函数,主要函数大写开头 2 /添加注释 3 直接vim程序,修改alarm为isnan可以patch掉alarm函数 4 y 可以修改变量类型,函数返回类型 5 对于重要的全局变量,x查看每个引用的地方 6 subview打开local type窗口,插入后双击导入到structures窗口, 在f5窗口中可y修改变量类型 1 插入时可先插入连续int,abcd这样命名,确定对应字母含义后在structures窗口修改 2 使用d修改字段类型 7 修改变量类型或者结构体后,在f5窗口按f5重新反编译 8 如果要修改结构体,可在local type中操作,会自动同步到structures窗口中 9 在观察数据时,可以修改全局变量的类型比如 Flower *ptr[100];然后可以转换数组,可使用r修改全局变量的名字 10 在f5窗口中,可以双击本地变量的类型进入stack of raise窗口,可以d修改变量类型 11 \是否显示强制类型转换 12 在结构体中对于起标志作用的字段,可以先命名为flag,确定作用后再修改 13 注意修改当前函数的类型,有时候可以让整个函数的结构改变,更易读 14 可以右键printf这种函数,删除可变参数 15 可如下画图画出对堆操作的步骤 16 对于堆exploit

2018小训―2017_“百度杯”CTF比赛_十月场_Login

匿名 (未验证) 提交于 2019-12-03 00:40:02
题目源:  https://www.ichunqiu.com/battalion?q=2725  i春秋上滴题目 小工具:  Burp Suite(抓包神器)、http://base64.xpcha.com/(base64在线解码网站)、https://tool.lu/coderunner/(php在线编写运行网站) 思路点用黄色加粗标记、操作点用绿色加粗标记。 解题的流程:     1.登录题,输username:admin password:admin没什么软用(前期各种尝试判断可能的题型), 检查源码, 在源码的最下面有发现,ps:一开始还真没看见藏在最小面的小惊喜,提醒审计的时候要确认你真的看全了。      尝试 username:test1 password:test1 ,登录成功!     2.就一个掀桌子的画面,检查源码,啥也没有。怀疑人生,,应用层的看完了,看看数据层有没有惊喜, 查看数据包 使用 BurpSuite抓包 (抓的是掀桌子的那个包,就是刷新掀桌子,截取数据包在BurpSuit里查看response)。      注意右边有个show:0返回,这是什么意思呢?状态标记吧,如果提交一个show:1会返回什么呢?     3. 更改数据包 的内容, 添加一项show: 1; (注意英文字符,冒号后面有一个空格)      在右边返回了一份源码。     4

CTF came(android 版)

匿名 (未验证) 提交于 2019-12-03 00:39:02
放到模拟器上运行是一个验证框 用工具反编译看看 有一个检查函数 找在那个函数 大概知道算法 1.它先去获取 key 2.然创建一个数组 3.然后计算 要注意的是它有俩个 getkey()函数 看看反编译的源码发现读不通其中就有: 可能是工具的问题 换个就清析了 找到关键点 他是把密码一个个字符计算 if ((iArr[i] & 255) != ((str.charAt(i) ^ str2.charAt(i % str2.length())) & 255)) { // throw new RuntimeException(); // } 那好办我就暴力求解(当前类中的key 是错的) key : bobdylan 密码:blow,in the winD 源码 public class allen { //正确 key public static String getKey() { return "bobdylan"; } public static void main(String[] args){ check("allen"); // System.out.println("allenboy"); } public static void check(String str) { int i = 0; if (str.length() != 16) { //throw new

Bugku CTF 杂项(21-29) Writeup

匿名 (未验证) 提交于 2019-12-03 00:34:01
下载得到一个图片,用winhex打开发现jpg文件尾FF D8后面有大量16进制数据,复制后面的数据,用notepad++中插件convert,hex->ascii转换后是一个个坐标点。 将括号和逗号去掉保存为txt文件。 再利用gnuplot画图(windows),输入:“plot “文件名””,回车得到一张二维码(注意,文件路径的反斜杠要转义)。 不知为啥,自己画出来的扫描不出来。 0x22convert convert转换的意思,打开是一串二进制,将它转换成十六进制,再把十六进制字符写到HxD中,发现文件头是52 61 72,rar文件头。就把它保存成rar文件,解压得到一张图片,查看属性,里面有一串base64编码,解码得到flag。 附上一个脚本: import binascii __author__ = 'feifei' # !/usr/bin/env python # -*- coding: utf-8 -*- base = [str(x) for x in range( 10 )] + [chr(x) for x in range(ord( 'A' ), ord( 'A' ) + 6 )] # bin2dec def bin2dec (string_num) : return str(int(string_num, 2 )) # hex2dec def

CTF PWN 做题环境一键搭建脚本

匿名 (未验证) 提交于 2019-12-03 00:22:01
有时候遇到一个新环境,每次做题输一次命令搭建环境挺烦的,所以写了一个脚本记录 地址如下: https://github.com/giantbranch/pwn-env-init 说明如下: 为64位系统提供32位运行环境支撑 下载了libc6的源码,方便源码调试(可看这 https://blog.csdn.net/u012763794/article/details/78457973 ) 给gdb装上pwndbg和peda插件 安装pwntools 转载请标明出处: CTF PWN 做题环境一键搭建脚本 文章来源: CTF PWN 做题环境一键搭建脚本

CTF

匿名 (未验证) 提交于 2019-12-03 00:22:01
题目1:FTP服务器漏洞 目标系统通过 Serv-U 搭建了一个 FTP 服务。请尝试利用软件的漏洞获取目标服务器系统的FLAG .txt 文件内的flag 值并提交。 1、利用serv-u的漏洞,ftp ip,匿名登录,用户名anonymous,密码无 2、get ..:/windows/system/flag.txt 1.txt 题目2:获取windows本地密码 获取Windows管理员密码的hash值,并把LM hash值作为key值提交; 提示:Windows 本地密码通过LM、以及NTLM俩种加密方式保存;请提交LM 哈希值。 备注: 在线模式:请直接使用渗透机winxp做题即可 独享模式:获取网络靶机IP地址后,请通过远程桌面“mstsc”连接后做题,用户名:administrator密码123456 题目3:通过网络嗅探获取Password 某攻击者已经利用漏洞进入某系统的内网,为进一步扩大战果,通过网络嗅探等方式,获取目标系统的密码( password )等敏感信息, 请将获取的password值作为key值提交。 文章来源: CTF

CTF

匿名 (未验证) 提交于 2019-12-03 00:21:02
Defcon CTF: 侧重于计算机底层与系统安全核心能力 竞赛环境趋向多CPU指令架构集,多操作系统,多编程语言 逆向分析,漏洞挖掘,漏洞利用,漏洞修补加固,网络流量分析,系统安全运维,面向安全的编程调试 团队合作: 团队分工详解: 题目类型: 未来: 人工智能,机器人对手 CGC:机器人CTF赛 不忘初心,方得始终 CTFTIME 文章来源: CTF

ctf中 preg_match 绕过技术

匿名 (未验证) 提交于 2019-12-03 00:15:02
1,例题 <?php error_reporting(0); if(isset($_GET['code'])){ $code=$_GET['code']; if(strlen($code)>40){ die("This is too Long."); } if(preg_match("/[A-Za-z0-9]+/",$code)){ die("NO."); } @eval($code); } else{ highlight_file(__FILE__); } highlight_file(__FILE); // ?> 使用异或绕过:可以使用各种特殊字符的异或构造出字母和数字 str = r"~!@#$%^&*()_+<>?,.;:-[]{}\/" for i in range(0, len(str)): for j in range(0, len(str)): a = ord(str[i])^ord(str[j]) print(str[i] + ' ^ ' + str[j] + ' is ' + chr(a)) 成功触发命令命令执行: 来源:博客园 作者: v01cano 链接:https://www.cnblogs.com/v01cano/p/11736722.html