自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

原创 XCTF-攻防世界CTF平台-PWN类——1、Mary_Morton(格式化字符串漏洞、缓冲区溢出漏洞)

目录标题一级目录二级目录1、查看程序基本信息2、反编译程序3、攻击思路(1)先利用功能2格式化字符串漏洞(2)找到功能1的sub_400960()函数返回地址的位置方法二一级目录二级目录1、查看程序基本信息Mary_Morton程序,先用file查看:Linux下64位的ELF文件再用checksec查看程序开启了Partial RELRO、NX和Canary,没有PIE。程序开启了canary,就不能直接利用栈溢出覆盖返回地址了。因为在初始化一个栈帧时在栈底(stack overflow

2021-09-09 22:20:50 1443 1

原创 《逆向工程核心原理》读书笔记——第13章 PE文件格式

第13章 PE文件格式13.1 介绍13.2、PE文件格式13.2.1基本结构13.2.2 VA&RVA13.3 PE头13.3.1 DOS头13.3.2 DOS存根13.3.3 NT头13.3.4 NT头中的文件头1.Machine2.NumberOfSections3.SizeOfOptionalHeader4.Characteristics13.3.5 NT头中的可选头1.Magic2.AddressOfEntryPoint3.ImageBase4.SectionAlignment, File

2021-09-29 22:15:04 2080

原创 数据库实验五——数据更新

这里写目录标题一级目录实验内容(1)实验内容(2)一级目录实验报告【实验名称】 实验5 数据更新 【实验目的】(1)熟练掌握使用交互式方式编辑表中的数据。(2)能够运用T-SQL语句对表中的数据进行插入、修改和删除操作。【实验原理】(1)插入数据语句INSERT(2)修改数据语句UPDATE(3)删除数据语句DELETE【实验内容】实验内容(1)针对教材中的学生_课程数据库,进行数据更新(有些删除需要分步进行):1.将选修了3号课程的学生的成绩加5分 ;UPD

2021-09-28 20:03:25 4601

原创 数据库实验三——连接查询

数据库实验三实验内容(1)实验内容(2)【实验名称】 实验3 连接查询 【实验目的】(1)熟悉基本的连接操作(2)掌握内连接与外连接的方法(3)学会应用自身连接(4)掌握多表连接【实验原理】查询语句SELECT【实验内容】实验内容(1)针对教材中的学生_课程数据库,进行各种连接查询1.查询“李勇”同学的选课情况(结果含课程号、成绩)2.查询“信息系统”课程的选课情况(结果含学号、成绩)3.查询“数学”课程的平均分4.查询“李勇”同学的平均分5.查询“

2021-09-28 16:18:12 4065

原创 数据库实验一——数据定义

这里写目录标题一级目录实验内容(一)实验内容(二)实验内容(三)实验内容(四)一级目录【实验名称】 实验一 数据定义 【实验目的】(1)掌握运用交互式方式和SQL语句创建、修改、删除数据库的方法。(2)掌握使用交互式方式和SQL语句创建、修改、删除基本表的方法。(3)理解索引的概念和索引的作用。(4)掌握创建、删除索引的方法。【实验原理】(1)使用交互式方式创建、修改、删除数据库和基本表的方法(2)创建数据库语句CREATE DATABASE(3)修改数据库语句ALTER

2021-09-28 10:48:17 2666

原创 XCTF-攻防世界CTF平台-Reverse逆向类——53、easyCpp(Linux64位ELF文件、C++逆向)

下载附件easyCpp,先查看文件信息:是Linux下的64位ELF文件,运行程序:是一个输入字符串然后判断是否正确的程序,错误就输入“You failed!”之后用IDA64打开:main函数源代码及注释:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // r15 __int64 v4; // r12 __int64 v5; // rbx __int64 v6; //

2021-09-25 18:05:50 1159

原创 《逆向工程核心原理》读书笔记——第7章 栈帧

第7章 栈帧7.1栈帧7.2调试示例:stackframe.exe7.2.1 StackFrame.cpp7.2.2开始执行main()函数&生成栈帧7.2.3 设置局部变量7.2.4 add()函数参数传递与调用7.2.5 开始执行add()函数&生成栈帧7.2.6设置 add()函数的局部变量(x, y)7.2.7 ADD 运算7.2.8删除 函数add()的栈帧&函数执行完毕(返回)7.2.9从栈中删除函数add()的参数(整理栈)7.2.10调用printf()函数7.2.1

2021-09-20 12:59:27 1160 1

原创 《逆向工程核心原理》读书笔记——第10章 函数调用约定

第10章10.1函数调用约定10.1.1 cdecl10.1.2 stdcall10.1.3 fastcall其他几种类型:本章学习函数调用约定( Calling Convention)的相关知识。10.1函数调用约定  Calling Convention译成中文是“函数调用约定”,它是对函数调用时如何传递参数的一种约定。我们通过前面的学习已经知道,调用函数前要先把参数压入栈然后再传递给函数。栈就是定义在进程中的一段内存空间,向下(低地址方向)扩展,且其大小被记录在PE头中。也就是说,进程运行时确定

2021-09-18 14:10:56 247

原创 《逆向工程核心原理》读书笔记——第8章 Visual Basic编写的exe程序特征

第8章8.1运行abex'crackme #28.2 Visual Basic文件的特征8.2.1 VB专用引擎8.2.2 本地代码和伪代码8.2.3 事件处理程序8.2.4 未文档化的结构体8.3开始调试8.3.1 间接调用8.3.2 RT_MainStruct结构体8.3.3 ThunRTMain()函数  本章分析第二个crackme文件abex’crackme #2,它使用Visual Basic语言编写,你会感受到与使用Visual C++或Assembly编写的文件相比具有不同的形态。  3

2021-09-17 10:36:52 824

原创 《逆向工程核心原理》读书笔记——第6章 汇编编写的exe程序入口

第6章一级目录6.1abex' crackme #16.1.1 开始调试6.3 将参数压入栈一级目录6.1abex’ crackme #1  调试前先运行abex’crackme #1这个程序,大致了解一下它。如图6-1所示,双击运行程序后弹出一个消息窗口,显示“Make me think your HD is a CD-Rom"消息。我刚开始并不理解这句英文。图6-1运行程序  消息的最后部分出现了“CD-Rom”这个词,我们只能根据它大致推测出前面的HD为HDD(Hard Disk Dri

2021-09-15 16:58:26 519

原创 《逆向工程核心原理》读书笔记——第5章 栈

第5章 栈一级目录5.1 栈5.1.1 栈的特征5.1.2栈操作示例一级目录5.1 栈栈内存在进程中的作用如下:  (1)暂时保存函数内的局部变量。  (2)调用函数时传递参数。  (3)保存函数返回后的地址。  栈其实是一种数据结构,它按照FILO (First In Last Out,后进先出)的原则存储数据。后面会通过一个示例向大家证明这一点。5.1.1 栈的特征栈内存的结构一般如图5-1所示,下面简单讲解一下。  一个进程中,栈顶指针(ESP)初始状态指向栈底端。执行PUSH命

2021-09-15 11:08:17 306

原创 《逆向工程核心原理》读书笔记——第4章 IA-32寄存器基本讲解

第4章 IA-32寄存器基本讲解4.IA-32寄存器1.通用寄存器2.段寄存器3.程序状态与控制寄存器4.指令指针寄存器4.IA-32寄存器  IA-32是英特尔推出的32位元架构,属于复杂的指令集架构,并且支持多种寄存器。下面列出了IA-32支持的寄存器类型。  以上寄存器列表中,我们先要学习基本程序运行寄存器的相关内容,这是程序调试中最常见的寄存器,是学习程序调试初级技术必须掌握的内容。后面学习中、高级程序调试技术时,我们将继续学习有关控制寄存器(Control registers )、内存管理

2021-09-13 16:02:56 1032

原创 XCTF-攻防世界CTF平台-Crypto类——4、flag_in_your_hand1(前端输入加密)

下载文件之后,发现是一道前端的题目:有一个index.html文件和一个script-min.js文件:运行html文件:要求输入一个Token,然后点Get flag!按钮:代码逻辑就是输入一个字符串,然后经过计算对比得到正确的flag我们先查看源代码:<html> <head> <title>Flag in your Hand</title> <style type="text/css"> body {

2021-09-12 14:22:34 1572

原创 XCTF-攻防世界CTF平台-Reverse逆向类——65、reverse-box(Linux32位ELF文件、gdb脚本调试)

这里写目录标题1、查看程序信息2、main函数3、sub_804858D()函数:4、程序逻辑5、方法一:gdb脚本获得内存中的数组6、gdb脚本分析:7、将输出转换会输入的flag8、C语言复现程序得到数组挑战描述$ ./reverse_box ${FLAG}95eeaf95ef94234999582f722f492f72b19a7aaf72e6e776b57aee722fe77ab5ad9aaeb156729676ae7a236d99b1df4aflag格式:TWCTF{}1、查看程序信息先

2021-09-11 21:12:46 2456 3

原创 Pwntools使用介绍

  Pwntools 是一个 CTF 框架和漏洞利用开发库。它用 Python 编写,专为快速原型设计和开发而设计,旨在使漏洞利用编写尽可能简单。  Pwntools 分为两个模块,一个是 pwn,简单地使用 from pwn import * 即可将所有子模块和一些常用的系统库导入到当前命名空间中,是专门针对 CTF 比赛的;而另一个模块是 pwnlib,它更推荐你仅仅导入需要的子模块,常用于基于 pwntools 的开发。pwn下面是 pwn 的一些常用命令行工具:pwn asm 和 disas

2021-09-08 22:38:57 1379

原创 XCTF-攻防世界CTF平台-Reverse逆向类——59、mfc逆向-200(MFC编程逆向)

先查看程序信息:Windows 32 位GUI程序,符合题目中MFC编程的程序,被加了VMProtect。运行程序:用xspy查看程序控件信息:获得程序窗口句柄:00170E52类名:944c8d100f82f0c18b682f63e4dbaa207a2f1e72581c2f1b再观察程序的消息处理函数:接受到以下消息:WM_SYSCOMMAND(0x112,274):当用户选择窗口菜单的一条命令或当用户选择最大化或最小化时那个窗口会收到此消息;WM_PAINT(0xf,15):

2021-09-08 14:32:34 923

原创 XCTF-攻防世界CTF平台-Reverse逆向类——52、handcrafted-pyc(Python的pyc文件逆向)

下载题目附件之后,查看附件52:发现它就是一个Python代码文件#!/usr/bin/env python# -*- coding: utf-8 -*-import marshal, zlib, base64exec(marshal.loads(zlib.decompress(base64.b64decode('eJyNVktv00AQXm/eL0igiaFA01IO4cIVCUGFBBJwqRAckLhEIQmtRfPwI0QIeio/hRO/hJ/CiStH2M/prj07diGRP

2021-09-07 10:48:51 1824 1

原创 XCTF-攻防世界CTF平台-Web类——3、php_rce(ThinkPHP V5.0框架远程代码执行漏洞)

先访问题目场景:主页提示我们:网页使用的是ThinkPHP框架,版本为5.0这道题主要是考察:ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的getshell漏洞,受影响的版本包括5.0和5.1版本。攻击的exp是:http://111.200.241.244:61059/index.php?s=index/\think\app/invokefuncti

2021-09-03 11:10:19 1123

原创 C语言printf函数输出格式%x和%p的差别

%p输出sizeof(void*)大小的数据%x输出sizeof(unsigned int)大小的数据请不要使用 %x 作为指针我经常看到这样的代码:printf(“foo 的地址:%x\n”, &foo);这里的目的是以十六进制格式打印地址。好计划; 糟糕的执行。首先,这是一个可能的输出:foo 的地址:123456这是十进制 (%u)、十六进制 (%x) 还是八进制 (%o)?我无法从输出中分辨出来;据我所知,写那行的人是一个真正的新手,使用了 %i 或 %d。(对于非常高的地

2021-09-02 20:46:45 5202

原创 XCTF-攻防世界CTF平台-Web类——1、baby_web(HTTP响应)

打开题目,提示想想初始页面是哪个:打开题目场景:这个的主要思路是访问初始页面http://111.200.241.244:52996/index.php:Flag就在返回的响应数据包中的FLAG字段:flag{very_baby_web}抓包也同样能找到flaghttp://111.200.241.244:52996/1.phphttp://111.200.241.244:52996/index.php...

2021-09-01 20:00:10 418

原创 XCTF-攻防世界CTF平台-Web类——2、Training-WWW-Robots(目录泄露)

这是一道文件目录泄露的题目先访问题目场景:在这个小的训练挑战中,你将学习机器人排除标准。 robots.txt文件被网络爬虫用来检查他们是否被允许抓取和索引你的网站或只是部分网站。有时这些文件显示目录结构,而不是保护内容不被抓取。享受吧!它告诉搜索引擎(爬虫)可以访问站内的那些内容不能访问那些内容,但是它只是一个说明上的不允许,并不是技术上的不允许。接着我们访问robots.txt文件查看它的协议内容:http://111.200.241.244:51837/robots.txt意

2021-09-01 10:24:55 5371

编程实现DES的工作模式,DES.zip

1. 掌握DES算法的工作原理; 2. 熟悉分组加密算法的工作模式。 DES算法,电码本模式(ECB)、密码分组链接模式(CBC),并输出其每一轮的加密结果并显示在屏幕上。

2021-02-23

calculator.zip

JavaGUI编程实现的计算器,代码描述文章地址:https://blog.csdn.net/Onlyone_1314/article/details/110929205。代码分成四个文件,分别负责实现了不同的部分的功能: **MyJFrame.java** /*实现计算器的界面框架*/ **Counter.java** /** *实现计算按钮不同的计算功能 */ **MyLabel.java** /** *显示计算器按钮运算更新后的文本 */ **Test.java** /** *运行计算器 */

2021-02-07

阿里巴巴java开发手册及插件

首先当我第一次看见这个的手册的时候或许和和你们是一样激动的,因为在java行业内我还没有看见有中文的规范,也可能是我读书少。总之,这是我见到的第一个中文的java规范。 首先还是要感谢阿里能给出这样一个规范,万事还是要怀有感恩的嘛,毕竟也是别人努力的结果。 首先没有规矩不成方圆,我觉得有了规矩,才能让大家的代码可读性和鲁棒性上面有所提高。而且规矩这东西是慢慢形成的,如果之后行业内的规范越来越相同的话那么互相交流也变的方便了不少。 然后要说明的是,规矩也是人定的,所以,不同的公司肯定有不同的代码规范,至少我所在的公司内部也渐渐的形成了自己的规范,我想说的是,并非我们一定要每一条都参考上面的手册(也并非不可以),有些还是要看具体情况的,但是至少阿里的实力摆在那里,所以有的规矩有它存在的道理。 其实我们要做的就是学习其中我们所不知道的,改掉我们那些坏习惯,保留我们的好习惯,那么这个手册的价值就大大的了,不是吗? 废话了这么多,我知道肯定也没有人会看的,下面赶紧上货,我会分章节总结手册中我认为重要和解释有些不太明确的地方,没有列举的,并非不重要,而是觉得手册已经写的很棒,我没啥好说的了。

2019-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除