白帽子sql注入
编码问题不同的字符编码也会导致出现一些安全问题sql语法中用单引号”‘“作为转义字符 insert into person(LastName) values(‘O’’R’) 则输出结果为O’R php中的转义为\如果进入数据库之前,web语言中没有考虑到双字节字符问题,双字节字符会被认为是两个字节 0x 5c和0x bf...
sql查询
连接查询注意 from字句后面的表名,可以用表原名,也可以为它起别名,一旦有了别名,整个查询语句中凡是涉及用表名的地方都要用表原名 查询语句中出现的所有列,若在所有涉及的表中是唯一的,则列明前可以不加表明前缀 如果不是唯一的,为了确定它的唯一性,必须在列名前加表名前缀 等值连接和非等值连接 两个表进行连接时,必须要有可比字段,两个可比字段的值进行逐一比较来决定当前两个元组是否可以连接 等值连接不会去重select student.*,SC.* from student,SC where student.sno = SC.sno; select SC.sno,SC.score,SG.grade from SC,SG where SC.score BETWEEN SG.minscore AND SG.maxscore; 内连接显示内连接 on来连接两个连接列,where中写连接条件 显示内连接用inner join 内连接又叫自然连接,会去掉重复列的等值连接select 目标列列表 from 表1 inner join 表2 on...
sql中的NUMBER数据类型
NUMBER 可以存储零值,正负数,定长数 表示范围和存储空间 从从1.0 x 10-130 到 1.0 x 10126(不包括),如果表达式或值大于1.0 x 10126,Oracle会返回错误信息 NUMBER类型表示方法 number(p,s) p和s可选 其中p表示数字的总长度,s表示可以有几位小数 precision叫精度,数中总数字的个数,默认为38位 scale是小数位数,即数中小数点右边的数字个数 注意 number数据类型只存在于Oracle中,不存在于MySQL中
sql中表级别的约束和列级别的约束
sql中表级别的约束和列级别的约束列级别的约束有六种: primary key foreign key unique check default not null/null 表级别的约束 主键 外键 唯一 检查 列约束的定义 直接跟在该列的其他定义之后,用空格分割,不必指定列名 表约束和列定义相互独立,不包括在列定义中,通常用于对多个列一起进行约束,与列定义用“,”分割,定义表约束时必须指出要约束的哪些列的名称,完整性约束的基本语法格式时[CONSTANT <约束名>] <约束类型> CREATE TABLE g1 { g_id CHAR(6) PRIMARY KEY g_name VARCHAR(20) } 或 CREATE TABLE stu { s_id CHAR(10) CONSTRAINT pk PRIMARY KEY(s_id) ...
mysql常见的建表选项和约束
create table选项指定列选项:default 当插入一个新行到表中并且没有给该列明确赋值时,如果定义了列的默认值,将自动得到默认值 ;如果没有,则为null。 sex char(1) default ‘m’ 当然,也可以在INSERT和UPDATE语句中使用DEFAULT关键字显式地给列赋默认值: 函数default(column)可以得到一个列的默认值:select default(sex) from people; comment 用来给列加注释,最多255个字符,注释会保存到数据字典中 id int not null primary key comment '学号' 从数据字典中查询注释信息 select column_name,column_comment from information_schema.columns where table_name=’stu_comment’ 在CREATE TABLES语句中的表选项engine:指定表使用的存储引擎 存储引擎:决定了数据如何存储以及如何访问,还有事务如何处理 show...
sql约束
create tables选项定义列的时候,指定列选项约束的概念 对表中的数据进行限定,保证数据的正确性。有效性和完整性DEFAULT 定义列的默认值 当插入一个新行到表中并且没有给该列明确赋值时,如果定义了列的默认值,将自动得到默认值,如果没有为null sex char(1) default ‘m’ COMMENT 用来给列添加注释,最多255个字符,注释保存到数据字典中 创建带有列注释的表stu_commentcreate table stu_comment( id int not null primary key, comment ‘学号’ name varchar(20) not null, comment ‘姓名’);从数据字典查询注释信息 select comumn_name,column_comment from information_schema.columns where table_name=’stu_comment’ 常见的约束类型 not null 非空类型,指定某列不为空 unique 唯一约束,指定某列和几列组合的数据不能重复 primary...
foreign key用法详解
foreign key用法详解引子:把所有数据都存放于一张表的弊端 组织结构复杂比清晰 浪费空间 拓展性差 表和表之间存在的三种关系 一对多 多对多 一对一 多对多 先站在表emp的角度 去找表emp的多条记录能否对应表dep的一条记录。 翻译2的意义: 左表emp的多条记录==》多个员工 右表dep的一条记录==》一个部门 最终翻译结果:多个员工是否可以属于一个部门? 如果是则需要进行part2的流程
zip伪加密
参考博客地址 https://www.cnblogs.com/cute-puli/p/16042101.html zip伪加密010或者winhex 建议使用010editor 因为可以自动区分数据区,目录区和目录结束标志zip文件组成 压缩源文件数据区 压缩源文件目录区 压缩源文件目录结束标志 奇数为加密,偶数为不加密无加密: 压缩源文件数据区的全局加密应为00 00 压缩源文件目录区的全局方式位标记应为00 00 假加密 压缩源文件数据区的全局加密应为00 00 压缩源文件目录区的全局加密方式应为 00 90 真加密 压缩源文件数据区的全局加密应为00 00 压缩源文件目录去的全局方式应为00 90 压缩源文件数据区:50 4B 03 04:这是头文件标记(0x04034b50)14 00:解压文件所需 pkware 版本00 00:全局方式位标记(有无加密)08 00:压缩方式5A 7E:最后修改文件时间F7 46:最后修改文件日期16 B5 80 14:CRC-32校验(1480B516)19 00 00 00:压缩后尺寸(25)17 00 00...
信息泄露
信息泄露备份文件下载网站源码bak文件下载 访问目录下的bak文件 题目提示source 在index.php下,所以用hackbar访问index.php.bak 将bak文件后缀改为txt或者用notepad++打开即可获得flag vim缓存 vim会自动生成备份文件和临时文件 临时文件是在编辑文本时就会创建的文件,如果程序正常退出,临时文件自动删除 如果意外退出则会保留,名为.filename.swp 第一次产生的交换文件名为“.filename.txt.swp”;再次意外退出后,将会产生名为“.filename.txt.swo”的交换文件;而第三次产生的交换文件则为“.filename.txt.swn 因为这里已经告诉我们是index.php了,所以其意外退出而保留的临时文件是 .index.php.swp phpinfo 直接打开页面发现是phpinfo界面 思路是从表中搜索flag的信息 浏览器中ctrl+f查找(和wires hark相同)flag 信息泄露问题目录遍历 用菜刀爬或者用御剑字典爆破搜就完了 观察之间的不同 一开始我还以为c=d...