草庐IT

一起来打靶 03

0x00靶机介绍靶机地址:Chronos:1~VulnHub难度等级:中(构思非常巧妙)推荐虚拟机:VirtualBox0x01内容简介涉及的攻击方法端口扫描WEB侦查命令注入数据编解码搜索大法框架漏洞利用代码审计NC串联本地提权简介本课我完整介绍了自己的打靶过程,以及面对每个困难时的思路和反映。在面对自身技术弱点的情况下,我通过搜索大法和自己快速的学习能力,终于成功完成了这次打靶,并收获了作者埋下的一个小小彩蛋。希望你能从本课的内容受益!打靶目标取得2个flag+root权限0x02环境搭建下载好靶机.ova文件后导入到VirtualBox中即可确保靶机和kali在同一网段中kaliIP地址

Problems caused by variable without initialization value

Problemdescriptionunsignedcharkey[16]={0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01};unsignedcharin[16]={0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01};unsignedcharout[16];intoutlen;intret;ret=aes_decrypt_ecb(key,sizeof(key),in,siz

Problems caused by variable without initialization value

Problemdescriptionunsignedcharkey[16]={0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01};unsignedcharin[16]={0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01};unsignedcharout[16];intoutlen;intret;ret=aes_decrypt_ecb(key,sizeof(key),in,siz

Java工厂模式的最佳实践?

"Simplicityisprerequisiteforreliability."-EdsgerDijkstra“简单是可靠的前提条件。”——艾兹格·迪杰斯特拉0x00大纲目录0x00大纲0x01前言0x02理想的工厂模型0x03道高一尺魔高一丈0x04何谓最佳实践0x05小结0x01前言最近在重温设计模式(inJava)的相关知识,然后在工厂模式的实现上面进行了一些较深入的探究,有了一些以前不曾注意到的发现,遂将其整理成文,以作后用。工厂模式是典型的创建型模式,相比于创建简单对象的小作坊(new一个对象),它可以将复杂的构造逻辑进行封装,并对外暴露相对简单的接口方法,从而简化对象的创建流程。

Java工厂模式的最佳实践?

"Simplicityisprerequisiteforreliability."-EdsgerDijkstra“简单是可靠的前提条件。”——艾兹格·迪杰斯特拉0x00大纲目录0x00大纲0x01前言0x02理想的工厂模型0x03道高一尺魔高一丈0x04何谓最佳实践0x05小结0x01前言最近在重温设计模式(inJava)的相关知识,然后在工厂模式的实现上面进行了一些较深入的探究,有了一些以前不曾注意到的发现,遂将其整理成文,以作后用。工厂模式是典型的创建型模式,相比于创建简单对象的小作坊(new一个对象),它可以将复杂的构造逻辑进行封装,并对外暴露相对简单的接口方法,从而简化对象的创建流程。

PHP-AES标准Rijndael算法的介绍与实现

1.前言AES(AdvancedEncryptionStandard)高级加密标准,又称Rijndael加密法。它是由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPSPUB197,并在2002年5月26日成为有效的标准。该算法由比利时密码学家JoanDaemen和VincentRijmen所设计,结合两位作者的名字而命名。AES标准支持固定分组128位,密钥长度可以是128位、192位、256位。 2.工作模式 我们知道,对明文进行加密的过程中,如果明文超过了分组大小,那么就需要进行切割处理,而AES提供给我们多种工作模式,分别是:ECB(电子密码本)、CBC(密文分

PHP-AES标准Rijndael算法的介绍与实现

1.前言AES(AdvancedEncryptionStandard)高级加密标准,又称Rijndael加密法。它是由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPSPUB197,并在2002年5月26日成为有效的标准。该算法由比利时密码学家JoanDaemen和VincentRijmen所设计,结合两位作者的名字而命名。AES标准支持固定分组128位,密钥长度可以是128位、192位、256位。 2.工作模式 我们知道,对明文进行加密的过程中,如果明文超过了分组大小,那么就需要进行切割处理,而AES提供给我们多种工作模式,分别是:ECB(电子密码本)、CBC(密文分

自己动手从零写桌面操作系统GrapeOS系列教程——23.从硬盘读取文件

学习操作系统原理最好的方法是自己写一个简单的操作系统。本讲代码文件为boot.asm,要读取的文件为data.txt。一、在FAT16文件系统中读取文件的流程在GrapeOS中用到的文件少且小,所有文件都放在了根目录下,数量不会超过16个,占用的簇不会超过254个。所以读取目录项只需要读取根目录的第1个扇区即可,读取FAT表项也只需读取FAT1表的第1个扇区即可。以下是读取文件的流程图:二、代码及讲解boot.asm中的代码如下:;--------------------定义常量--------------------;FAT16目录项中各成员的偏移量:;名称偏移长度描述DIR_Nameequ

自己动手从零写桌面操作系统GrapeOS系列教程——21.汇编语言写硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。在上一讲中我们学习了用汇编语言读硬盘,本讲我们来学习用汇编语言写硬盘。同样也是设计一个简单的实验,实验内容为:在内存中准备一段有特征的512字节数据,地址为0x7e00~0x7fff,其特征是前3个字节依次为4、5、6,最后3个字节依次为6、5、4。然后将该段内存数据写入到硬盘的第2个扇区,并查看虚拟硬盘第2个扇区的数据是否与内存中0x7e00~0x7fff的数据一致,如果一致则说明写硬盘成功。本讲代码文件只有一个boot2.asm。boot2.asm代码如下:;定义常量DISK_BUFFERequ0x7e00;临时存放数据用的缓存区,放到

自己动手从零写桌面操作系统GrapeOS系列教程——20.汇编语言读硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。本讲我们设计一个简单的读硬盘实验。通过一定的方法使硬盘第二个扇区的前3个字节依次为1、2、3,最后3个字节依次为3、2、1,中间的506个字节全为0。然后通过读硬盘程序将硬盘第二个扇区的数据读取到内存0x7e00-0x7fff的地方,也就是内存中MBR之后的512个字节。最后通过QEMU+DGB调试的方式来查看内存中0x7e00-0x7fff的数据,是否与硬盘第二个扇区中的数据一致,如果一致说明读硬盘成功。本讲代码文件共2个:data1.asmboot1.asm下面我们开始实验。一、设置硬盘第二个扇区中的数据data1.asm代码如下:db