- 博客(33)
- 收藏
- 关注
原创 二进制安全-汇编语言-07-更灵活的定位内存地址的方法
这两个字符串在内存中的起始地址是不一样的,但是,它们中的每一个字符,从起始地址开始的相对地址的变化是相同的。计算机中,所有的信息都是二进制。本章以读程序为主,向我们展示了更灵活的寻址方式,也给了更为合理的分段模式,也实现了更多更有趣的程序,似乎距离我们读写一些更复杂更有趣的功能的程序不远了,再坚持一下!在前面的学习中,我们用[bx]的方式来指明一个内存单元,还可以用一种更为灵活的方式来指明内存单元:[bx+idata]表示一个内存单元,它的偏移地址为(bx)+idata(bx中的数值加上idata)
2025-07-15 09:00:00
672
原创 Web安全-Linux基础-04-系统进程及负载均衡
什么是程序?什么是进程?将开发编写好的代码信息汇总打包称为是程序,当开发好的代码运行起来,可以称运行起来的代码为系统进程运行一个程序,可以将运行的程序称为进程微信.exe – D/xxx 双击微信.exe — 任务管理器有所显示程序 进程当程序运行起来称为进程后,系统会为该进程分配内存资源/cpu资源,分配进程管理用户;当程序运行起来称为进程时,系统会有各种指标来表示进程运行的情况。
2025-07-14 09:00:00
767
原创 Web安全-Linux基础-02-系统基础命令
01.Windows 目录形式 C: \ xxx \ xxx盘符: \ 子目录 \ 子目录 \ 文件 # 02.linux 目录形式 /xxx/xxx根目录/目录/目录/文件 # 03.根目录 根目录 一切目录的起点 一切从根出发每个用户都有自己名字命名的家目录其中root用户的家目录 直接在根目录下普通用户的家目录 放在 /home/进行管理。
2025-07-12 11:31:06
953
原创 Web安全-Linux基础-01-初识Linux
学习Web安全方向,需要熟练使用Linux的常用基础命令,方便后续的学习,这里是个人学习笔记,仅做参考。
2025-07-11 20:23:05
1080
原创 二进制安全-汇编语言-06-包含多个段的程序
在编译、连接后,由“end start”指明的程序入口,被转化为一个入口地址,存储在可执行文件的描述信息中。不只是上面的标号对应的段地址,甚至后面的cs:code、ds:data、ss:stack都是CPU不知道的,这些都是有编译器执行的,包括assume这种伪指令,CPU都不知道它们的存在,这些都是由编译器来处理的。总之,CPU到底如何处理我们定义的段中的内容,是当作指令执行,当作数据访问,还是当作栈空间,完全是靠程序中具体的汇编指令,和汇编指令对CS:IP、SS:SP、DS等寄存器的设置来决定的。
2025-07-10 20:30:54
888
原创 二进制安全-汇编语言-05-[BX]和loop指令
为了描述上的简洁,可以使用来" () "表示一个寄存器或一个内存单元中的内容(ax)表示ax中的内容、(al)表示al中的内容;(20000H)表示内存20000H单元的内容(()中的内存单元的地址为物理地址);
2025-07-09 09:00:00
1096
原创 二进制安全-汇编语言-04-第一个程序
一下,dos中的command程序一直在运行,等待用户输入命令,用户输入了命令,它就把CPU交出来,让输入的命令来执行,命令结束后,CPU有回到command那里,实现交互式官方回答现在回答问题4.1和4.2中所提出的问题。(1)在DOS中直接执行1.exe时,是正在运行的 command,将1.exe中的程序加载入内存;(2)command设置CPU的CS:IP指向程序的第一条指令(即程序的入口),从而使程序得以运行;
2025-07-08 21:00:00
1339
原创 二进制安全-汇编语言-03-寄存器(内存访问)
要给段寄存器赋值,只能通过一个寄存器作为中转赋值,不能直接赋值数据。段寄存器ds中有段地址了,再给一个偏移地址[xxx]就能够访问到对应的内存单元了。
2025-07-07 21:00:00
1110
原创 二进制安全-汇编语言-02-寄存器
分析:程序段中的最后一条指令 add al,93H,在执行前,al中的数据为C5H,相加后所得的值为:158H,但是al为8位寄存器,只能存放两位十六进制的数据,所以最高位的1丢失,ax中的数据为:0058H。分析:程序段中的最后一条指令 add ax,bx,在执行前 ax和 bx中的数据都为 8226H,相加后所得的值为:1044CH,但是ax为16位存器,只能存放4位六进制的数据,所以最高位的1不能在ax中保存,ax中的数据为:044CH。(3)指令执行后,CS=1000H,IP=0003H;
2025-07-06 21:00:00
1107
原创 二进制安全-汇编语言-01-基础知识
主要参考王爽著《汇编语言》 汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。其实仅从课程关系的角度讨论汇编语言的重要性未免片面,概括地说,如果你想从事计算机科学方面的工作的话,汇编语言的基础是必不可缺的。原因很简单,我们的工作平台、研究对象都是机器,汇编语言是人和计算机沟通的最直接的方式,它描述了机器最终所要执行的指令序列。想深入研究英国文化,不会英语行吗?充分获得底层编程的体验深刻理解机器运行程序的机理这两个目的达到了,其他目的也就自然而然地达到了。
2025-07-05 19:20:02
777
原创 【python】列表推导式和字典推导式
目录列表表达式字典表达式由于开始的列表和字典推导式比较不太美观,为了使其更加优美,然后推出推导式这种表达,更加简洁美观列表表达式[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]alist = []for i in range(1,11): if(i % 2 == 0): alist.append( i*i )print(alist)blist = [i*i for i in range(1,11) if( i
2021-08-01 21:16:02
440
原创 【python】字典的定义及常用操作
仅作为自己学习、复习参考,若有问题,欢迎指正!目录字典的定义字典的定义字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:d = {key1 : value1, key2 : value2, key3 : value3 }一种新的数据类型,映射的类型:字典(python)字典包括哈希值和指定的对象{"哈希值":"对象"}如长方形的长和宽{'leng.
2021-07-30 22:47:51
810
原创 关于apache配置php时遇到的问题
在更改php配置文件时,为了给apache能够解析php时,加入一个可以加载php的模块,在书写时,忘了在“加载php”前加注释符井号(#),导致乱码报错如下图加载php模块代码#加载phpLoadModule php5_module 'C:/server/php5/php5apache2_2.dll'...
2021-07-25 15:30:43
301
原创 【python】 基本数据类型
目录数据类型整数(int)浮点数(float)字符串(str)布尔值(bool)利用idle判断该数据类型转换数据类型数据类型整数(int)4、3、7、12 .....浮点数(float)4.5、2.534 ......字符串(str)"ptyhon"、"6" ......此时“6”也是字符串布尔值(bool)true、false利用idle判断该数据类型type(数据)转换数据类型转整型: int("8")转bool型:bool(123)...
2021-07-25 15:29:46
162
原创 【C++】大纲及疑惑点三
目录面向对象基础类(class)对象(object)面向过程vs面向对象类的声明和对象的定义访问权限定义对象的方法面向对象基础类(class) 类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。 类是对现实生活中一类具有共同特征的事物的抽象。 类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作
2021-06-16 00:17:45
237
2
原创 【C++】大纲及疑惑点二
目录程序控制结构预处理命令语句C++的9种控制语句数组程序控制结构预处理命令所有的预处理命令在程序中都是以 “ # ” 开头,每一条预处理命令单独占一行,不用分号结束。预处理命令可以出现在程序中任何位置。宏定义命令C语言中用#define命令将一个指定的标识符(宏名)来代表一个字符串#define 标识符 命令串比如:#define PI 3.14C++中,增加了const语句来定义符号常量const 数据类型 变量名 = 常量;const double PI = 3.14;C++
2021-06-12 12:17:09
900
原创 【C++】大纲及疑惑点一
目录C++与C简单关系面对对象的四大特性抽象封装继承多态数据类型与数据结构数制C++中的数据类型常量浮点数的运算布尔型(bool)/逻辑型数据及其运算变量C++与C简单关系 C++是对C一定上的“增强”。 用C语言写的程序基本上可以无缝接入C++运行。 C语言主要是面对过程的程序设计,而C++既可以用于面向过程的结构化程序设计,又可以用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。面对对象的四大特性抽象数据抽象–>表示世界中一类事物的特性,就是对象的属性。比如鸟有翅膀,
2021-06-09 00:10:17
500
5
原创 【汇编二】
前言内存中字存储、字单元的概念DS寄存器mov add sub 指令数据段CPU提供的栈机制栈顶超界的问题栈段内存中字存储、字单元的概念CPU中用16位寄存器来存储一个字,高8位存放高位字节,低8位存放低位字节单元即存放一个字型数据的内存单元,由两个地址连续的内存单元组成;高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节将起始地址为N的字单元称为N地址字单元,比如:2地址字单元由2、3两个内存单元组成DS寄存器CPU要读写一个内存单元的时候,必须先给出这个内存单元的
2021-05-21 09:59:04
1604
原创 关于DOSBOX启动时自动挂载到指定盘及目录问题
dosbox每次打开使用时,需要自己切换到c盘这时你需要输入mount c d:\dosbox\asm //目录是安装dosbox的目录每次输入这样的命令还是比较麻烦,所以得让它自动输入。查看你的这张图,寻找改路径上的文件打开(AppData一般会被隐藏,所以点击上方查看栏,勾选上被隐藏的项目)在末尾输入以下指令:重新打开dosbox即可,自动挂载解释一下指令的意思mount: 准备、安排的意思c: 虚拟化为c盘d:dosbox\asm :被虚拟文件夹的路径(用于存放a.
2021-05-20 10:13:37
5955
1
原创 【汇编一】
前言汇编语言的概念汇编语言的组成其他相关的概念存储器存储单元数据和指令汇编的简单指令汇编语言的概念 汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。总而言之,汇编语言是面向机
2021-05-19 23:42:51
576
原创 MYSQL简单语句总结
学习sqli-labs时需要用到mysql语句,所以学习了一点,做个记录。文章目录Mysql结构分层表名 table_name列名 column_name数据 table_schema常用语句 查看数据库 选择数据库 查看当前的表 读取数据表的信息Mysql结构分层表名 table_name列名 column_name数据 table_schema常用语句注意mysql语句末尾要加分号 ; 查看数据库show databases.
2021-05-16 23:47:58
200
原创 C语言作业
#include <stdio.h>#include <stdlib.h>int right=0;int wrong=0;int rand();void add(){ int a,b,c; a=rand()%100; b=rand()%100; printf("请回答:\n\t\t %d + %d = ",a,b); scanf("%d",&c); if(a+b==c){ printf("回答正确!\n"); right++; } else
2021-05-10 06:18:29
224
原创 C语言复习代码练习
仅作为复习时乱敲的,熟悉一下。//输入两个数比较大小,输出大的#include <stdio.h>void main(){ int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("%d",c);}int max(int x,int y){ int z; if(x>y) z=x; else z=y; return(z);}//输入.
2021-05-10 06:04:01
268
1
原创 关于使用docker compose时报错问题
报错情况如下ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?原因因为用未加到docker组中解决方法执行命令sudo gpasswd -a ${USER} docker
2021-05-03 17:03:52
280
原创 关于无法定位软件包python-pip问题
安装docker环境时遇到这样一个问题:首先需要更新一下sudo apt-get update 然后改一下上面的命令sudo apt-get install python3-pip应该是因为ubantu的python版本问题这里pip命令用不了,得用pip3,估计也是版本原因吧pip3 ....如pip3 -v //查看pip版本并且可以看出是否安装成功...
2021-05-03 16:43:15
6358
3
原创 关于Sqli-labs加单引号但不报错的问题
加单引号不报错的原因在配置sqli-labs的时候,因为使用的小皮面板或phpstudy 2018版中的PHP是新版本,进行sqli-labs的Less1时加了单引号,但是没有显示报错。百度之后,发现原来是因为新版php对单引号进行了保护。解决方法打开配置文件php.ini(后缀.ini可能隐藏,右键点击属性即可看见),找到Magic quotes。把magic_quotes_gpc=On改成magic_quotes_gpc=Off文件较长,可以看图上进度条,大概在1/3的位置。..
2021-04-29 20:44:33
1024
3
原创 关于小皮面板打开MySQL命令行的问题
本次用的phpstudy环境是小皮面板,开始用不久,还不知道哪里可以找到sql的命令行框,2018版是可以直接找到的。//小皮面板打开MySQL的命令行框 Win+R运行cmd命令,进入MySQL所在的盘;若在d盘,则输入D:回车。 利用dos命令进入mysql所在文件夹 常用dos命令 dir 将所在文件夹列表 cd+文件名 切换到该文件夹 . 当前目录 .. 上一级目录 cd .. 切换至上一级目录 其中. 和 .. 都是被隐藏的文件 比如在桌面新建.
2021-04-28 23:38:30
5277
原创 数据拓展知识点
目录HTTP/S数据传输HTTP/HTTPSRequest请求数据包数据格式Response返回数据包数据格式HTTP/S数据传输#Request请求数据包#Response返回数据包 HTTP即超文本传输协议(HyperText Transfer Protocol),是一个简单的请求-响应协议。 HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP协议进行通
2021-04-24 10:34:40
283
原创 名词概念
由于对计算机组成原理,计算机网络,计算机系统等基础知识目前还没有系统学习,但是又想入门网络安全,所以自己看前辈小迪的视频整理笔记,既是补全自己不懂的知识,又可以记录下来,欢迎大家指正!00x1 域名域名(英语:Domain Name),又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,人们设计出了域名,并通过网域名称系统(DNS,Domain.
2021-04-17 23:55:55
240
原创 Sqli-labs-master的环境搭建
Sqli-libs是一位印度程序员写的,用来学习SQL注入的一个游戏教程。它是一个非常好的SQL注入学习实战平台,涵盖了报错注入、盲注、Update注入、Insert注入、Heather注入、二阶注入、绕过WAF,比较全面的一个注入平台。本次在phpstudy环境上部署sqli-labs 注入平台。本次安装是在虚拟机中windows10安装----注释----phpstudy和sqli-labs等学习环境、靶场、工具尽量安装在虚拟机中,以免某些设置、端口忘记关闭,会存在安全隐患,包括一些软件本.
2021-04-10 17:18:40
2679
2
原创 Kali的一般配置
前文是kali的安装,安装后需要了解一些配置,方便后续的使用。最开始先说一个技巧,kali终端有自动补全功能,即输入一部分后按Tab键,可以切换到之前输过的命令。也可在前面基础上更改,若第一个就是你想要的命令,可以按向上方向键。输入完成后按Enterkali切换到root用户**依次输入以下命令即可sudo passwd root //修改root新密码,输入用户名密码后设置root密码su root //切换root,输入root密码如图所示需要注意的几点
2021-04-10 00:26:01
2549
原创 Kali Linux安装教程
虚拟机Vmware Worksation下Kali Linux安装教程本次安装Vmware Worksation采用的是15.5 pro下载kali镜像首先进入kali官网:https://www.kali.org点击Downloads直接选择最新版本即可下载对应的kali镜像这里推荐使用迅雷或者IDM等下载器下载,速度会快挺多。创建kali虚拟机打开虚拟机点击创建新的虚拟机点击下一步点击稍后安装操作系统,并点击下一步点击下一步命名虚拟机名称,并选择磁盘安装(尽量选
2021-04-09 12:19:44
28315
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅