- 博客(20)
- 收藏
- 关注
原创 二进制字符文件转二进制的3种姿势
今天学弟问了一个CTF题,是关于二进制字符文件转二进制文件的问题。 自己用了一个struct库解出来了,代码是这样的:import structf = open("num.txt","r")fout = open("res.txt","ab+")data = f.read()for i in range(0,len(data),16): try: ds = stru
2017-07-06 00:24:26
2286
原创 世界智能驾驶挑战赛信息安全组赛后记录
世界智能驾驶挑战赛信息安全组赛后记录与反思//记一次收获颇丰的酱油经历(:P趁着小学期之前的间隙抱着长长见识顺便旅游的心情和两位chaMd5的大佬和一航到天津参加了听说是要“破解汽车”的挑战赛。于是在比赛前一天去天津的火车上整明白了这次比赛要干啥:比赛将汽车的CAN总线牵出,通过特定的转接口将USB总线信号转为USB信号,连接到电脑上,在电脑上用主办方给定的软件分析捕获到的CAN总线数据包,在捕获的
2017-06-29 23:16:18
1050
翻译 汽车安全:Adventures in Automotive Networks and Control Units
汽车网络和控制单元的探索摘要之前的研究已经表明,攻击者可能通过蓝牙和通讯单元等接口,对在汽车中的电子控制单元(ECU)进行远程执行代码攻击。这篇论文旨在讨论这类攻击会给汽车行为带来多大程度的影响。特别地,我们展示了如何在一些特定的环境下,在两个不同的汽车系统中,控制刹车、加速、驾驶和多媒体。我们还提出了一种用于检测这种攻击的机制。在这篇论文中,我们公开了所有的技术细节一遍读者复现和理解,包括源代码和
2017-06-29 00:43:39
1224
原创 论文阅读-- Memory Errors in Modern Systems
计算机组成原理论文审阅:《Memory Errors in Modern Systems》目录1. 论文概述 1.1 研究背景1.2 研究对象1.3 研究内容 1.3.1 内容概述1.3.2 创新点1.3.3 DRAM错误1.3.4 SRAM错误1.3.5 纠正研究误区1.3.6 先有纠错机制的分析1.4 研究成果 1.4.1 几点提高大规模计算系统可靠性的建议1.4.
2017-05-21 20:26:13
876
原创 PlaidCTF CTF 2015 pwn160
PlaidCTF CTF 2015 pwn160格式化字符串漏洞之前指针没有理解好,所以理解这题的攻击花了不少功夫,记录一下思路:程序中的sprintf第三个参数format由我们控制,存在明显的格式化字符串漏洞。这个程序给了一个全局buf,大小为1024字节,可以植入shellcode,主要的难点是如何将某个函数的返回地址(脚本中写的是make_response返回地址)改成buf中的地址。这里用
2017-04-14 21:44:19
811
原创 pwn --rop
rop练习—Very Secure Systemrop 真爽。。题目链接:http://pan.baidu.com/s/1eSd0XTg 注:.bak是原题,原题有个过10s自动退出程序的设置,不好调试,我用ida打了个patch,就是另一个文件,两个文件只有这一个区别漏洞分析:这个程序是静态加载的,所以got表没有用,顺带dynelf也不行,也没提供libc。但是有一个函数可以溢出,但是只溢出了
2017-04-08 23:51:37
2035
原创 pwn100 ssp
ssp–利用栈溢出保护来泄露内存这payload贼短。。题目链接:sspStack-smashing Protection (SSP,又名 ProPolice),是在函数的栈底插入一个随机数,这个随机数在函数调用结束后会被检测,如果与预设的不同,就会直接退出程序并打印如下的错误提示: *** stack smashing detected ***: ./pwn100 terminated
2017-04-08 19:34:10
1120
原创 HITCTF PWN300--dynelf
第一次用Dynelf,脚本调了一下午。。hitctf pwn300题目链接:http://pan.baidu.com/s/1eSCCOE2漏洞分析:三个write之前的一个函数调用了read来读入字符,而这里存在明显的缓冲区溢出,可以覆盖main函数的栈地址,这个题没给libc,got表里没有system之类的函数,于是考虑用dynelf。攻击脚本:from pwn import *io = pr
2017-04-08 18:26:11
1034
1
原创 xdctf-pwn200
XDCTF (哪一年的忘了)中的一道pwn题题目地址http://pan.baidu.com/s/1hszHtwo解题思路:缓冲区溢出->泄露ebp->覆盖got表->执行shellcode首先用ida分析这题的反汇编:这里是一个关键的缓冲区溢出点,这里虽然v2的长度和读入的最大长度一致,但是我们知道对于printf函数,如果后面的地址中(这里是v2的栈地址)的内容没有”/x00”这样的结束符,就会
2017-04-08 18:09:04
1351
原创 RSA初步
通过两个rsa算法的实现代码初步认识RSA算法程序bmrsa,源码:先看看第一个程序bmrsa.exe的流程图: Bmrsa的demo.bat运行截图及注释: 1.产生第一个大素数p,用时3.1s 2.产生第二个大素数q(用时5s),以及一个与f(n) = (p-1) * (q - 1)互素的e 可以看到密文被公钥加密了: 加密结果在encrypted.txt中可以
2017-03-26 10:34:13
7526
原创 jarvisoj pwn level1 ——记第一次shellcode的编写
jarvisoj(https://www.jarvisoj.com/challenges )pwn部分 level1 解题过程:在队友的指导下写了人生第一个shellcode感觉很刺激,过程中还是学到了很多东西,记录一下这个程序流程很简单,用ida分析就两个主要的函数:main:int __cdecl main(int argc, const char **argv, const char **en
2017-03-19 10:12:50
3636
原创 跳表的实现
上课的时候第一次听说跳表这种数据结构。跳表的出现主要是为了提升顺序链表的查找速度(因为顺序链表不能用二分查找)。实现跳表的思路还是很简单的,就是在链表的基础上,构建一个链表元素的索引,比如下面这个链表:value:1 value:2 value:3 ...... vlaue:npointer-->pointer-->pointer-->......-->pointer-->NULL
2017-03-16 22:48:55
607
原创 KMP算法的理解和实现
想学会“看毛片”算法,今天和同学捣鼓了半天,终于理解并自己实现了它。主要参考的博客是http://blog.csdn.net/yutianzuijin/article/details/11954939/ 。由于自己实现了一遍KMP代码,为了加深印象和加强理解,写篇博客记录一下,欢迎讨论。首先解释一下几个基本的名词:1.模式串:用于匹配的子串2.主串:可能包含模式串的字符串3.失配:匹配失败比如
2017-03-16 11:48:30
462
原创 算法导论--优先队列实现
仔细看了算法导论第六章,想实现里面的优先队列算法,结果调了好半天的bug才调对,写篇博客记录一下,写的不好之处,跪求各位dalao指点。算法导论中的优先队列使用数组实现的最大堆,我选择的语言是C++,并且用类封装了这个优先队列,话不多说,我就边贴代码边说明吧_(:3 」∠)_ #pragma once#include<stdlib.h>#include<iostream>using names
2017-03-14 09:45:43
2353
原创 黑龙江省网络安全技能大赛 初赛 RE300 writeup ——Lilac 逆向组
一个exe文件,下载地址:https://yunpan.cn/cvgXYFXCpf39p 访问密码 edfd 这个pe一打开是这样的: 与常规逆向不同的是,此题没有输入的地方,也没有提交flag的地方 注意到上面有个菜单栏,然而里面并没有什么有用的东西 于是程序丢到ida里面,经验让我搜索了一下程序中的字符串,找到了有趣的东西: 跟过去,到了一个函数里,这个函数是被混淆的,混淆点
2016-10-03 18:58:45
2353
原创 IA-32体系结构粗浅认识
最近学校开了汇编课,上的是《Intel汇编语言程序设计》(第5版),由于之前为了打ctf,提前看过这本书的前几章,当时白纸一张,对这本书的第二章不是很理解。现在再看这一章,似乎有所体会,记录下来。(这篇博文非常入门,菊苣们可以跳过了。。)所谓IA-32即Intel Architecture-32,是指从intel 386到奔腾的系列处理器。 IA-32体系结构这本书里只用了一章作了简略的介
2016-09-14 22:30:43
3926
原创 python学习笔记之:多线程编程
总觉得之前的网页扫描后台有点慢,今天上网学了多线程编程,记录一下 ——————————————分割线—————————————— python的多线程一般使用threading库(还有一个thread库,没用过) 用这个语句创建一个线程:import threadingt = threading.Thread(target = func,args = (arg1,arg2...))t就是一个
2016-08-20 21:16:13
320
原创 python学习笔记之:用urlllib库实现后台管理员登陆页面扫描
这个东西用途不广,因为少有网站会把管理员登陆界面和普通可浏览页面放在同个文件夹下,但是,对于一些挂马的网站,其网站管理员很有可能会这么干(我导师告诉我的,当时忘了问为啥。。有没有大神告诉我一下,万分感谢) 权当练个手吧2333 ————————————————分割线——————————————— 其实原理很简单,用urllib构造request请求,发送到指定的url,如果能够连上,说明该ur
2016-08-20 09:51:54
1484
原创 python学习笔记之os.walk()实现遍历文件搜索字符串
为了熟练使用python,打算有事没事用python写一些实用的小脚本 我刚刚进入计算机专业一年,一些专业用语不是很清楚,有说错的地方欢迎大家批评指正—————————–分割线———————————————————————-今天学习了os库中的os.walk(),并用它实现了一个小程序(功能如题)函数原型: os.walk(top, topdown=True, onerror=None, foll
2016-08-14 15:10:29
1652
1
原创 python学习笔记:实现一个遍历文件寻找字符串的功能
为了熟练使用python,打算有事没事用python写一些实用的小脚本我刚刚进入计算机专业一年,一些专业用语不是很清楚,有说错的地方欢迎大家批评指正-----------------------------分割线----------------------------------------------------------------------今天学习了os库中的os.w
2016-08-14 15:00:51
8290
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人