- 博客(71)
- 收藏
- 关注
原创 命令注入
命令执行注入 当应用需要调用一些外部执行程序时(系统的命令 或者是 exe等可执行文件),如果将用户的输入作为系统命令的参数拼接到命令当中,可能存在命令执行漏洞。 条件 1.将用户的输入作为拼接的命令 2.无足够的过滤 危害 相关函数 system() 将 字符串 作为 OS命令 去执行,并且自带输 出功能 <?php if(isset($_GET['cmd'])){ $str = $_GET['cmd']; system($str); } ?> exec() 将
2021-03-14 22:48:34
680
原创 RCE 代码注入
RCE 代码注入 应用程序过滤不严,用户可以通过请求将代码注入到应用中然后由服务器去执行。 与 SQL注入漏洞的区异: SQL注入:将SQL语句注入到数据库当中去执行 RCE注入:直接将代码注入到应用当中由服务区端运行。 执行条件 1.程序中含有可执行 PHP代码的语言结构 2.执行语句为参数,且在客户端 可控 常用函数 eval() 将字符串当作 php代码 去执行 示例: <?php if(isset($_REQUEST['shell'])){ @$str = $REQUEST[
2021-03-14 16:42:02
662
原创 SQL 文件导入导出操作
1.允许用户对mysql的导入导出操作有权限 PhpMyadmin 中可查看,变量-- secure-file-priv 参数 参数情况: secure-file-priv= 不对mysql的导入导出操作做出限制 secure-file-priv='c:/a/' 限制mysql的导入与导出操作限制在指定目录 c:/a/ 下 secure-file-priv=null 不允许导入导出操作 2.文件导入导出 的权限查看 3.知道写入目标文件的 绝对路径 读取文件操作:load_file('所要读取文
2021-03-14 00:20:17
546
原创 SQLI-LABS (九)(50~65)
SQLI-LABS (九) 文章目录SQLI-LABS (九)Less-50:Less-51:Less-52:Less-53:Less-54:Less-55:Less-56:Less-57:Less-58:Less-59:Less-60:Less-61:Less-62:Less-63:Less-64:Less-65: Less-50: 有报错,整型注入,可 报错注入 ,也可 堆叠注入 ?sort=1 and updatexml(1,concat(0x5e,database(),0x5e),1)--+ Le
2021-03-14 00:18:29
258
原创 SQLI-LABS (七) (26~31)
SQLI-LABS (七) 文章目录SQLI-LABS (七)过滤Less-26:对于注释符的过滤--使用;%00 , 或者是 手动闭合对于 and 与 or 的过滤--使用双鞋绕过 或者是 &&-->%26%26 和 ||-->%7c%7c(转换为URL编码)对于空格的过滤方法一:使用括号包围方法二:使用字符编码进行绕过空格Less-26a:布尔盲注Less-27:Less-27a:Less-28:Less-28a:Less-29:联合查询Less-30:Less-31 过滤
2021-03-13 23:16:02
229
原创 SQLI-LABS (八)(32~49)
SQLI-LABS (八) WAF 绕过 Less–32: 为了防止 SQL注入漏洞,通常在源代码当中会对我们所输入的 SQL查询语句进行一个转义,一般是对 单引号,双引号 进行一个转义变成 ’ 或者是 " ,这样Mysql在 执行 SQL语句时,不会影响到查询,即不会出现报错,也就预防了 SQL注入。 宽字节注入 ...
2021-03-13 21:56:24
368
原创 C++的编译与执行
C++的编译与执行 环境查看:g++ -v 写好.cpp文件: .cpp文件 编译与执行过程: 预处理过程:将 预处理文件 显示出来 hello.ii 执行:g++ -o hello.ii -E hello.cpp 编译过程:将 预处理文件 转为 汇编文件 hello.s 执行:g++ -o hello.s -S hello.ii 汇编过程:将 汇编文件 转为 二进制文件--目标文件 hello.o 执行:g++ -o hello.o -c hello.s 链接过程:目标文件 与函数库 链接
2021-03-06 14:39:20
274
原创 Web服务器
文章目录Web服务器部署 Web服务器一、静态网站的发布一台服务器实现多个站点发布方法一:加网卡(加 IP),即 IP不同,端口号相同方法二:IP相同,端口号不同:8080 / 8000方法三:IP相同,端口号相同,绑定 不同的域名二、动态网站的发布部署 FTP服务器FTP 工作方式: Web服务器 网页服务器,HTTP服务器 使用协议:HTTP 浏览器:HTTP客户端 Web服务器发布软件: 微软:IIS–可以发布 Web网站和 FTP站点 Linux:Apache/LAMP/Tomcat/nginx
2021-02-16 22:14:57
409
原创 DNS--域名服务
DNS–域名服务 Domain Name Service 文章目录DNS--域名服务域名概述组成DNS 解析种类按查询方式分类按照查询内容分类DNS 服务器部署--server 2003服务器名称转发器设置辅助区域创建给已有域名起别名域名解析记录类型DNS服务器分类客户机域名请求解析顺序一台 DNS服务器对一个域名请求的处理顺序 域名 概述 完全限定域名(FQDN–Full Quality Domain Name): 主机名.域名 举例: 网站:www.sian.com.cn 博客:blog.sina.co
2021-02-15 23:03:16
463
原创 部署DHCP服务器--server 2003
DHCP部署与安全 (Dynamic Host Configure Protocol) 相关概念 地址池 /作用域 优点:减少工作量,避免IP冲突,提高地址利用率 DHCP原理(DHCP租约过程)
2021-02-15 12:29:59
294
原创 动态主机配置协议--DHCP
动态主机配置协议–DHCP (Dynamic Host Configure Protocol) 优点:减少工作量,避免IP冲突,提高地址利用率 相关概念 地址池(作用域):IP,子网掩码,网关,DNS,租期 在用户定义了 DHCP 范围及排除范围后,剩余的地址构成了一个地址池,地址池中的地址可以动态的分配给网络中的客户机使用。地址池仅对自动获取IP的方式有效,手动设置IP只要符合规则可无视此项。 DHCP原理(DHCP租约过程) 1.客户机发送 DHCP Discovery 广播包: 客户机广播
2021-02-14 23:27:14
429
原创 文件上传的一些点
getimagesize(路径) 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息 索引 0 图像宽度的像素值 索引 1 图像高度的像素值 索引 2 图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte
2021-02-14 20:36:38
489
原创 文件包含漏洞
文件包含 PHP当中 函数 描述 include() 文件包含失败时,会产生警告,但脚本将继续执行 include_once() 作用与include()相同,但文件只会被包含一次 require() 文件包含失败时,会产生错误,直接结束脚本执行 require_once() 作用与require()相同,但文件只会被包含一次 成因 1.Web应用实现了动态包含 2.动态包含的文件路径参数,客户端可控 相关配置 本地文件包含 (LFI):可以读取与打开本地文件 远程文件包含
2021-02-14 20:35:41
340
原创 kali 搭建 DVWA
kali 搭建 DVWA 下载 DVWA git clone https://github.com/ethicalhack3r/DVWA.git cp -r DVWA/ /var/www/html cd /var/www/html chmod -R 777 DVWA/ cd DVWA cp config.inc.php.dist config.inc.php cp config.inc.php config.inc.php.bak 修改 用户名 及 密码 gedit config.inc.php 开启
2021-02-09 16:53:10
409
1
原创 远程连接+文件交互
远程连接+文件交互 文章目录远程连接+文件交互Windows 远程连接 kali --XshellWindows 与 kali 文件交互--FileZillaWindows 与 kali 文件交互--winSCPUbuntu 远程连接 kali--SSH服务(命令行)Ubuntu 与 kali 文件互传 Windows 远程连接 kali --Xshell 点击左上角的 加号 输入 kali 用户名及密码,连接成功 Windows 与 kali 文件交互–FileZilla Windows 与 k
2021-02-08 15:12:23
286
原创 SQLI-LABS (六) (18~25a)
SQLI-LABS (六) 文章目录SQLI-LABS (六)过滤Less-23方法一:;%00截断方法二:手动闭合 '1'='1Less-24二次注入Less-25双写绕过Less-25a双写绕过Less-26 过滤 Less-23 将 注释符 进行了过滤 有报错,有回显 闭合方式为 ’ 方法一:;%00截断 查库: ?id=1' and updatexml(1,concat(0x7e,database(),0x7e),1);%00 查表: ?id=1' and updatexml(1,concat(
2021-02-07 21:18:19
279
原创 DVWA
DVWA–CSRF 文章目录DVWA--CSRFLowMediumHighImpossible Low 查看源码 模拟攻击者: 写一个HTML如下 模拟受害者: 受害者访问了该页面 此时,受害者发现自己登录不上了 而对于攻击者,则成功登录 Medium 查看源码 stripos(string,find,start)函数: string 必需。规定要搜索的字符串 find 必需。规定要查找的字符 start 可选。规定开始搜索的位置 返回值:返回字符串在另一字符串中第一次出现的位置,如果没有找到字
2021-02-07 21:15:07
912
原创 DVWA--File Upload+DVWA--File Inclusion
DVWA–File Upload Low 查看源码 就是简单的修改文件路径至…/…/hackable/uploads/ ,但是并未对文件进行任何过滤,那么我们试试上传一句话木马吧! 上传成功 使用工具 中国蚁剑 Medium 查看源码 限制了文件类型只能是jpg与png格式 我们可以先上传正确格式的,然后通过Bp抓包修改格式发送出去即可。 High 查看源码 strrpos(string,find,start)函数: string 必需。规定被搜索的字符串 find 必需。规定要查找的字符 sta
2021-01-30 19:36:49
281
原创 DVWA--SQL
DVWA–SQL 文章目录DVWA--SQLSQL InjectionLowMediumHighImpossibleSQL Injection (Blind)LowMediumHighImpossible SQL Injection Low 查看源码 进行简单的查询然后通过while循环出所有结果 sql语句为 SELECT first_name, last_name FROM users WHERE user_id = '$id';'' or '1'='1' 进行注入 ' or 1# ' or '1'=
2021-01-28 22:44:53
453
原创 DVWA --XSS
DVWA --XSS 文章目录DVWA --XSSXSS (Reflected)LowMediumHighImpossibleXSS (Stored)LowMediumHighImpossibleXSS (DOM)LowMediumHighImpossible函数总结 XSS (Reflected) Low 反射型XSS 搜索框–输入什么返回到页面什么 查看源码 没有过滤,直接在 搜索框 当中输入payload <script>alert(/xss/)</script> Med
2021-01-28 17:58:15
378
原创 SQLI-LABS(五)(11~17)
SQLI-LABS(五) 文章目录SQLI-LABS(五)Less-11:联合查询报错注入Less-12:Less-13:报错注入Less-14:报错注入Less-15:延时注入Less-16:延时注入Less-17:报错注入 Less-11: Dumb Dumb Dumb' Dumb 我们抓包在Burp的Repeater模块中进行 order by 查出有两列 有回显,有报错 闭合方式为 ’ 联合查询 后面的查询不再演示 报错注入 后面的查询不再演示 Less-12: 有回显,有报错
2021-01-27 16:31:11
338
原创 SQLI-LABS(四)(7~10)
SQLI-LABS(四) 文章目录SQLI-LABS(四)Less-7:写入文件操作Less-8:布尔盲注Less-9:延时注入Less-10 Less-7: ?id=1')) --+ 没有回显,没有报错 字符型注入,闭合方式为 ')) order by 检测为三列 写入文件操作 可写入一句话木马: 示例一: ?id=-1')) union select 1,"<?php @eval(\$_POST[111]); ?>",3 into outfile "D:\\phpstudy_pro\
2021-01-27 14:58:37
312
原创 COOKIE + SESSION
cookie HTTP协议:客户端发出请求,服务器给出响应 储存在用户本地终端(客户端)上的数据,类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。 举例来说, 一个 Web 站点可能会为每一个访问者产生一个唯一的ID, 然后以 Cookie 文件的形
2021-01-21 11:57:00
299
原创 PHP(六)数组
PHP(六)数组 1.数组是一种变量类型,复合数据类型 2.数组的数据由 键值对 组成 键值对: 中括号[]中的为键名key 内容为键值value 3.数组中元素可以存放 不同类型 的数据,包括整型,浮点型,布尔类型等 数组的创建 方法一: 未指定键名的情况下给数组赋值,键名默认从零开始计数,依次增大 ...
2021-01-20 22:29:25
204
原创 SQLI-LABS(三)(5~6)
SQLI-LABS(三) 文章目录SQLI-LABS(三)Less-5:方法一:报错注入XPATH报错方法二:判断是否为布尔类型注入布尔盲注---对可变参数进行爆破处理Less-6: 准备的函数: left(a,b); 从左侧开始截取a的前b位 length(a); 返回字符串a的长度 regexp(); like(); substr(a,b,c); 从b位开始截取字符串a的c位 ascii('a'); 返回字母 a 的 ascii值 ord(); chr(); if(a,b,c);
2021-01-19 23:33:33
369
原创 存储引擎
存储引擎 表的存储方式,不同存储引擎采用不同的方式在数据库中存储表 查看当前 Mysql 支持的存储引擎: show engines; MyISAM 存储引擎 是最常用的,但不是默认的 ,它使用三个文件来表示每张表。 格式文件:columns_priv.frm 数据文件:columns_priv.MYD 索引文件:columns_priv.MYI 优点:可被转换为压缩,只读表来节省空间 缺点:不支持事务 InnoDB 存储引擎 1.优点:支持事务,行级锁,外链等。 2该存储引擎数据的安全得到保障
2021-01-18 21:42:14
157
1
原创 约束
约束 建表时,给表中的字段添加相应的一些约束,目的是保证表中数据的合法性,有效性,完整性。 包括: 非空约束(not null):约束的字段不能为NULL 唯一约束(unique):约束的字段不能重复 主键约束(primary key):约束的字段既不能为NULL,也不能重复,简称PK 外键约束(foreign key):简称FK 检查约束(check):Oracle中有该约束,Mysql中不支持 非空约束 ...
2021-01-18 15:41:37
151
原创 DDL(数据定义语言)--对表的操作
DDL(数据定义语言) 表的创建 语法: create table 表名( 字段名1,数据类型, 字段名2,数据类型, 字段名3,数据类型, ...... ); Mysql 中常见的数据类型 int 整型 bigint 长整型 float 浮点型 double char 定长字符串 varchar 可变长字符串(最多存储255个字符) data 日期类型 datatime BLOB 二进制大对象
2021-01-18 10:22:55
249
原创 DML (数据操作语言)
DML (数据操作语言) 插入数据 insert insert into 表名(字段名1,字段名2,字段名3......) values(值1,值2,值3......); 注: 字段的数据类型要与值对应,值的数量小于等于字段的数量,小于时,未被插入数据的字段为指定的默认值。 例如: insert into t_stu(no,name) values(2007040202,'lijun'); mysql> select * from t_stu; +------------+----------+-
2021-01-17 21:45:18
240
原创 union+limit+通用标准分页
union 将查询的结果集相加 举例: select ename from emp union select dname from dept; mysql> select ename from emp union select dname from dept; +------------+ | ename | +------------+ | SMITH | | ALLEN | | WARD | | JONES | | MARTIN |
2021-01-17 19:30:35
530
原创 子查询
子查询 select语句 中嵌套 select语句,被嵌套 select语句即为子查询。 语法: select ...(select...) from ...(select...) where ...(select...) where 后面嵌套 示例:找出高于平均薪资的员工 mysql> select ename,sal from emp where sal > (select avg(sal) from emp ); +-------+---------+ | ename |
2021-01-17 18:08:09
205
原创 连接查询
连接查询 在实际开发中,一般一个业务会对应多张表,因此大部分情况下都不是从单表中查询数据,而是多张表联合查询数据从而取出最终的结果。这也是关系型数据库存在的原因。 分类 根据年代划分: SQL92:旧的语法 SQL99:较新的语法 根据表的连接方式划分: 内连接:分为等值连接,非等值连接,自连接 外连接:分为左外连接(左连接),右外连接(右连接) 全连接 笛卡尔积现象 (笛卡尔乘积现象) 现象:当两张表进行连接查询时,如果没有条件限制的话,最终查询结果条数将会是两张表记录条数的乘积。 避免笛卡尔乘
2021-01-17 16:43:47
157
原创 多表查询
多表查询 语法: select from join...on...join...on...join...on... where 举例理解: select a.ename,b.dname,c.grade from emp a left join dept b on a.deptno=b.deptno join salgrade c on a.sal between c.losal and c.hisal; 解释:emp a 先与 dept b 进行外连接查询,查询出之后的表再与 salgrade
2021-01-17 16:43:02
161
原创 外连接
外连接 外连接:A表与B表进行连接,AB两张表中一张为主表,一张为副表,主要查询的是主表中的数据,当副表中的数据不能与主表中的数据匹配时,副表会自动模拟出 NULL 与之匹配。 内连接:A表与B表进行连接,将两张表中能够匹配的数据查出来,不能匹配的数据忽略不计。AB两张表没有主次之分,是平等的。 特点:查询占主导地位的表,捎带着查询副表中的数据,当副表中数据与之不匹配时,自动以 NULL 替换,不会丢失主表中的数据。 语法: select from left/right outer join
2021-01-17 15:31:18
1028
原创 做练习的数据库,表的结构
做练习的数据库,表的结构 资源如下: https://pan.baidu.com/s/1iA47qGloJYrVriwF43QpMg 提取码:65yv mysql> show tables; +-------------------+ | Tables_in_myworld | +-------------------+ | dept | 部门表 | emp | 员工表 | salgrade | 工资等级表 +----
2021-01-17 15:05:03
300
原创 内连接
内连接 等值连接 特点:条件是等量关系 语法: select from inner join //inner 可省略 on where 举例: select a.ename,b.dname from emp a join dept b on a.deptno=b.deptno; 非等值连接 特点:条件是非等量关系 语法: select from inner join //inner 可省略 on...between...and... where 示例:找出每位员工对应的工资
2021-01-17 14:57:52
258
原创 MYSQL 数据库
MYSQL 数据库 数据保存在硬盘上–文件上 IO流 通过sql语句对数据进行增删改查 常见的数据库管理系统: Oracle 甲骨文 (SUN) IBM–eclipse– 收购了 MysqlAB公司 Oracle Mysql DB2 Sybase MS SqlServer 支持标准sql的数据库管理系统 sql,DB, DBMS 概念理解 DB:DataBase 数据库--在硬盘上以 **文件** 的形式存在 DBMS:DataBase Management System 数据库管理系统, 常见
2021-01-17 12:07:08
158
原创 DQL(数据查询语言)
DQL(数据查询语言) 文章目录DQL(数据查询语言)一、简单的查询语句 (DQL)二、条件查询常用运算符三、数据排序四、分组函数(多行处理函数,聚合函数)五、单行处理函数空处理函数六、注意点count(*) 与 count(具体的某个字段)注:举例:七、group by 与 having多字段来联合分组having 与 where八、查询结果集的去重九、一个完整的 sql语句 执行顺序 一、简单的查询语句 (DQL) 语法格式: select 字段名1,字段名2,字段名3,......from + 表
2021-01-17 12:03:27
493
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅