
日常
Startr4ck
远在远方的风比远方更远
展开
-
OSWE 尾篇 考试的方法论
在刚过去的中秋节 2021.9.19-9.21这两天里面我已经完成了自己的OSWE考试,拿到了及格的分数。最终获取到了OSWE考试通过的通知这篇文章的目的是为了向没有经历过OSWE考试的同学扫盲,以及说一些注意事项。 我会在这篇文章当中谈论如下几点OSWE考试整体的介绍(强调考试) 如何进行考试 (一些考试的技巧,考试需要注意的东西)OSWE考试考试介绍简单介绍下刚经历的OSWE考试吧分数考试满分是100分,及格的分数是85分。 每台主机的分数是50分,获得web...原创 2021-10-27 21:49:52 · 1558 阅读 · 0 评论 -
2018.10.10 pwn的学习0x1 参数传递
在32位程序当中,函数的传递是通过栈来进行传递。构造shellcode 的方式是 padding+ fake_ebp+p32(system)+p32(返回地址)+p32(system 的参数)在64位程序当中,函数的传递是通过寄存器进行传递。在64位程序当中,参数先是找rdi, rsi, rdx, rcx, r8, r9。构造shellcode的方式是padding+fake_ebp+...原创 2018-10-11 17:21:03 · 832 阅读 · 0 评论 -
2018 10 11 pwn的学习0x2 gets函数和fgets函数 ,新的参数传递方式
还是一一样的没有binsh字符串所以我们需要继续读取字符串到内存当中 在id中寻找函数 发现并没有我们想要的提权函数我们可以尝试着搜索gadgets去寻找我们想要找到的看到有汇编代码 mov dword ptr[edi],ebp和 pop edi ebppop edi ebp后面就跟参数edi 放地址,ebp放数值。就可以将ebp的数值放在edi位置上 直接利...原创 2018-10-11 23:57:04 · 1552 阅读 · 0 评论 -
2018 10 12 pwn的学习0x3 32位程序和64位程序的差别(两点),在Linux 寄存器调用函数syscall
在64位程序当中和32的不一样的原因是 但是可以使用的内存地址不能大于0x00007fffffffffff,否则会抛出异常,这就是为什么调试64位程序的时候,我们不能使用字符串进行的原因x64中前六个参数依次保存在RDI, RSI, RDX, RCX, R8和 R9寄存器里syscall调用read eax 0x3 ebx 0x3 ecx re...原创 2018-10-12 23:34:13 · 1118 阅读 · 0 评论 -
关于对自己以后要做什么的思考
二进制的路上并不好走,这一条路走下去自己也不知道能不能找到工作所以这几天没有学习pwn,听了学长的经验分享,就算在ctf逆向当中你的pwn技术有多牛逼和你的真正在公司当中也是没有多大关系的 ,ctf只是你的一个展示方面,千万不能以ctf为目标去学习ctf,ctf应该是建立在你学习其他信息安全的基础上进行的很多时候,去寻遇到一个新的提权方式,漏洞溢出的方式,其实在实际当中已经没有多大的意...原创 2018-10-17 22:52:37 · 319 阅读 · 0 评论 -
2018 10 13 pwn的学习0x4 没有缓冲区溢出和护网杯的pwn签到题目
今天所遇到的题目都是判断变量放在内存当中 我们可以使用覆盖来对判断变量进行改变 当覆盖到变量之后 就可以实现我们想要的跳转我们要覆盖v5的数值为11.28125 ,点看读进去的buf的地址 和v5的地址 发现相差 是0x20的大小所以直接发送'a'*20+(11.28215za在内存当中的数值)但是如何得到这个数在内存当中的数值呢 我们在汇编代码当中看进去之后看到了数值...原创 2018-10-13 22:05:58 · 475 阅读 · 0 评论 -
2018 10 18 pwn的学习0x8 堆分配函数&VA,offest之类的转换
堆分配函数: malloc进行分配的 calloc进行分配(calloc在分配之后会自动进行清空) calloc(0x20) 等同于 ptr=malloc(0x20) memset(ptr,0x20) 堆溢出的利用策略 寻找危险函数: 输入 ...原创 2018-10-19 23:01:48 · 256 阅读 · 0 评论 -
函数调用进栈的问题
函数调用进栈的问题: 调用方式的差异 c语言 参数入栈的顺序:从右到左 恢复栈平衡操作的位置:母函数 Syscall --------- 子函数 Stdcall --------- ...原创 2018-10-19 23:11:15 · 482 阅读 · 0 评论 -
什么是 数字签名 数字证书 数字信封
1,数字签名 数字证书 数字信封当A和B进行通信时,将A发送的消息的hash值先用A的私钥进行加密(数字签名),B存储A的公钥,B收到信息之后利用公钥进行解密,保证信息的完整性和保密性来自于A存在的问题 B存储的A的公钥伪造问题解决:CA通过自己的私钥对A的公钥进行加密发送给B,就可以保证A的公钥的正确性,最简单的数字证书:就是使用CA的私钥对需要验证的用户的公钥和信息的加密证书的...原创 2019-03-03 10:32:53 · 2819 阅读 · 1 评论 -
解析漏洞
什么是解析漏洞,顾名思义解析漏洞是容器在解析一个文件或者说地址的时候产生的漏洞上一句话提到了容器那什么是容器呢?简单地说 apache,tomcat,iis都是容器,本质就是一种服务程序,在服务器中一个端口就对应一个提供相应服务的程序(比如Apache默认的端口为80),而这个程序就是处理服务器从客户端收到的请求。一个服务器可以有多个容器。IIS解析漏洞1,文件夹格式为asp,as...原创 2019-03-06 10:15:37 · 697 阅读 · 0 评论 -
简单理解 kerberos
实现过程:起始阶段.发送者和KDC之间进行联系,发送者证明自己的身份,获取TGT,SAKDC是什么?在kerberos当中可信任第三方(TTP)扮演一个特别重要的角色,在kerberos当中可信任第三方就是KDC (密钥分发中心)如何证明自己的身份?发送者发送和KDC之间的通信密钥KA来进行验证自己的身份什么是TGT? 票据分为两类,一种是TGT,一种是普通票据,TGT是在第一次发...原创 2019-03-09 12:08:06 · 848 阅读 · 0 评论 -
应用层服务的原理和工作端口全解析(FTP,telnet,SSH,SMTP,DNS,HTTP)
SMTP 简单邮件协议 是一种发送的邮件协议,并不能接受邮件,开启,应用层协议,SMTP-auth 扩展,POP3和IMAP进行收取邮件https://blog.youkuaiyun.com/cnyxlxw/article/details/6619935工作原理 :首先能够在服务器和服务器还有客户端和服务器之间进行传输传输的步骤 建立tcp连接客户端HELLO命令表示自己的身份,在发送MAIL...原创 2019-03-04 16:58:10 · 3244 阅读 · 0 评论 -
简明理解 域和工作组
域和工作组之间的差别(例子:公园唱戏)域当中有域服务器进行管理域当中存在可以登录该域的账号,这些账号由域管理员来创建每一次登录域,都要通过域管理器进行验证如果是工作组的话就是在本机上进行本地认证在域当中所有计算机互相进行访问都会通过域服务器域服务器:必须存在 是域不可获取的一个部分存在的用途:对域当中的计算机的登录进行验证(通过KDC凭据【一般一个域服务器当中存在...原创 2019-03-10 17:39:45 · 343 阅读 · 0 评论 -
简单理解AD,DC
AD就是active directory,这是一个域,这个域当中有一个数据库里面是以对象的形式存取了资料AD和DNS是可以严密结合在一起的,在AD当中的域名也可以是一个网址DC 就是域服务器,在当中的域服务器保存了相同的AD,https://www.cnblogs.com/cnjavahome/p/9029665.htmlLDAP :是一种轻量级的组织AD的方式(不重要)...原创 2019-03-10 17:40:36 · 6731 阅读 · 0 评论 -
关于最近
没想到这一停笔就是三个月没有写博客了,时间过的是在是太快了本学期开始的时候一直在准备笔试 准备实习的面试但是仔细想一想也没有投递几个实习,投递了字节跳动和阿里。对的笔试机会都没有给我另外投递了趋势科技 ,笔试全是c++四月中去面试了某家安全公司 过了 之后暑假就准备在那里进行实习了三月初的时候到现在一直在绿盟 原本以为能够得到很好的发展,但是事以愿违,果然招聘要求这么低就是这个...原创 2019-06-07 21:30:14 · 233 阅读 · 0 评论 -
2018 7/20 软件调试
今天学习的是从内存当中找到没有保存的文件工具 Windbg使用Windbg打开系统保存的dmp文件1 寻找文件 s-u 开始地址 寻找长度 字符名2 .writemem 命令将内存当中的文件进行dump出 .writemem 保存文件路径 起始地址 保存长度3 因为发现dump的是文本文件,需要修改其文件头部 改为ff fe 使用 winhex 进行修改 或者在windbg...原创 2018-07-20 11:43:23 · 304 阅读 · 0 评论 -
c++中的虚基类(没有系统内部进阶,
#include<iostream>using namespace std;class aa{public: void fun0(){ cout<<"a has been used"<<endl; }};class b:virtual public aa{public:// void fun0(){// co...原创 2018-07-10 10:22:30 · 167 阅读 · 0 评论 -
日常0x3
今天东整西弄总算把自己的一个博客弄出来了网址是 www.haukyin.top 欢迎访问,里面会存放我遇到的ctf逆向题目的writeup今天做了四道题目,其中两道题目是使用异或解出来的,其中需要注意的是python对字符串的操作是一个坑值得自己记录,明天一道直接的od载入,一道使用python中字符串的对比观察,也是需要注意的,明天时间够了,进行补充。...原创 2018-04-09 23:56:46 · 274 阅读 · 0 评论 -
日常0x4
最近仿佛是因为有一点忙的原因。导致日常,总结什么的都没有进行从今天继续开始今天要完成的 :1,锻炼自己的观看程序反汇编代码的能力。2,PWN继续学习。3,总结python字符串操作的用法...原创 2018-04-17 12:47:59 · 317 阅读 · 0 评论 -
日常0x1
今天学习的内容:在蓝鲸ctf教程当中学习pwn,学习对进行加过nx 保护的栈段进行保护。再来回顾一下步骤首先使用checksec 检查程序开启的保护使用cyclic生成首先使用gdb 对该程序进行调试,复制cyclic当中的数值进入程序执行当中,gdb出现地点就是溢出地点了。cyclic 转换该地点为数值,就是溢出所需要的数值因为使用了nx保护ropgadet对其中的汇编代码有可能要使用的...原创 2018-04-07 00:07:39 · 584 阅读 · 0 评论 -
日常0x5
今天要在实验吧中独立进行解决题目3道题目,不会的也要硬上,完了以后贴writeup在这里。原创 2018-04-18 09:38:49 · 1552 阅读 · 0 评论 -
日常0x6
2018 4 28一道alexctf的题目,使用winhex先分析文件类型发现是elf文件。使用die对该文件进行查壳。发现其具有upx 3.6的壳。在linux下使用upx包进行解壳。解出壳之后发现汇编代码全是mov指令,知道这是使用了movfuscator的花指令结果。解决的办法: 使用ida中关联Intel的pin tracer,tracer script (cpp文件)下载之后放在s...原创 2018-04-30 14:39:28 · 542 阅读 · 0 评论 -
日常0x7
完成注册机的破解。思考: 在使用破解程序的时候,最好是先使用ida,因为od并不能知道是通过比较还是直接赋值进行验证。在使用IDA的时候搜索字符串并不一定是用shift+f12,直接左上角的search text有些时候出来的东西会更多。在使用od如果明文对比的时候可以下好断点,在堆栈窗口中寻找字符串。如果当使用od的时候出现一打开程序就直接暂停的情况,可以考虑换一个od ...原创 2018-04-30 14:44:18 · 917 阅读 · 0 评论 -
日常0xc
今天继续小程序的开发,今天是对前端页面的继续调整输出,和对之前的更加理解。学习了小程序发起请求API,使用wx.request向输入serve的请求,然后使用调用程序的api当serve端的api拒绝访问的时候,可以尝试使用转发代理进行访问api。注意数据表类型是json的话,要在request当中对contentype="json"。另外是在加载页面的时候使用官方的api函数进行加载动画,使用该...原创 2018-05-08 22:12:40 · 660 阅读 · 0 评论 -
日常0x8 微信小程序
最近因为比较喜欢玩微信小游戏,而且最近这个东西也比较火。所以就自己就有点想写一个小游戏来玩。小游戏主要是前端的知识,恰好了,我对这方面的知识几乎为0。小游戏的逻辑是js,外部表示是css和html,所以先从html入手。明日计划:html基础...原创 2018-05-04 23:15:07 · 231 阅读 · 0 评论 -
日常0x9,微信小程序构成
今天学习的是,微信小程序的编写。微信小程序开发分为两个层次, 一个是渲染层,渲染层运行在webview上,是由wxml,wxss,来进行编写的(类似于html+css),就有点像表示出来的东西 一个是逻辑层,运行在jcore上,由JavaScript来进行编写的,是负责对程序的交互等小程序本质上是一堆网页,通过官方的开发工具我们可以更加方便的进行小程序的开发。在开发当中主要是分为两个文...原创 2018-05-05 20:37:42 · 159 阅读 · 0 评论 -
日常0xa
今天学习了小程序的数据绑定部分,当你的程序需要更改数据的时候这个时候改变数据需要重新打包小程序发布,所以有了数据绑定的概念。条件渲染: wx:if,对js文件中的数据赋值或者做判断布尔类型,然后满足什么条件输出什么。列表渲染:wx:for,将页面打包为一个数组,对数组进行渲染输出,item对应数组当中的页面对象。index是对应的下标。swiper组件:滑动容器,是一个组件,通过设置swiper就...原创 2018-05-06 23:58:45 · 1366 阅读 · 0 评论 -
日常0xb
今日继续小程序,实现功能有 1,在swiper当中实现点击某一固定位置,点击返回swiper最后一页的功能。2,在swiper当中点击任意地方实现转到另一个页面。1,wxml当中设置某一个文本边框,并且设置事件f0,catchtap(不使用bindtap,会传递与第二个冲突)。在js当中编写f0事件,在其中声明直接更改当前的页面数据。2,需要将wxml整个view页面设置为bindtap点击并且事...原创 2018-05-07 12:56:46 · 667 阅读 · 0 评论 -
2018/5/16 逆向脱壳的几个方法(单步跟踪,ESP定律,使用出口标志,SFX方法)
来自于西普实验吧在线实验单步跟踪法破解Aspack条件:一般是不是很复杂的程序方法:通过载入程序,当程序弹出点击事件框的时候就重新od载入,因为当点击事件框出现的时候意味着程序已经进入了oep当中。所以当不断进入call当中去寻找oep所在位置,中间遇到跳转使用f4进行标记汇编命令再运行就可以跳转。找到之后进行运行,删除分析,使用od的脱壳调试进行有两种方法分别都采用一次。得到两个文件都进行保存,...原创 2018-05-16 11:30:23 · 1636 阅读 · 0 评论 -
西普 软件破解技术
... 分析软件算法:发送到od之后,调试程序进行暂停 打开k找到最后一条消息进行堆栈跟随 随意输入,观察堆栈窗口的数据 利用dede和ollydbg:dede是用来分析程序点击的事件之后转到哪个页面当中去 ...原创 2018-06-08 20:21:43 · 271 阅读 · 0 评论 -
c++控制台通讯录
...借鉴了前面好几位博主造出来的轮子做出来这个。存储方式:通过存储在文本当中实现具有的功能:增加,删除,修改,查看。 直接放代码吧#include <fstream>#include <iostream>#include <cstdlib>#include<regex>#include<string>#include<c...原创 2018-06-10 15:09:06 · 325 阅读 · 0 评论 -
日常0x2
日常:昨天的忘了写,今天还是得把昨天的东西给补上昨天主要是看了一道简单的来自于蓝鲸ctf逆向的题目,是属于Windows程序下寻找加密算法,并使用加密算法就可以得到flag的题目,另外还看了一篇关于异或的题目,得到一个提示 将一段字符串进行异或两次就是本来的那个字符串。今天使用了WordPress和xampp进行建站特别简单,现在时间有些晚了,明天把自己使用建站方法贴上来,方便和我一样的小白使用W...原创 2018-04-08 23:56:15 · 518 阅读 · 0 评论