ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

网络安全——数据库基础知识

网络安全——数据库基础知识 一、数据库概述数据库管理系统有Mysql、 sql server等关系型数据库是写进硬盘的而非关系型数据库速度比较快写进内存的关系型数据库遵循ACID理论而非关系型数据库不一定这几年的数据库排名1、Oracle2、MySQL3、MSSQL4、PostgreSQL5、Memcached6、Redis7、mongoDB8、国内数据库二、识别数据库1、根据不同数据库的默认端口号2、根据报错信息3、根据各数据库版本查询方法的区别4、根据各数据库在处理字符串时的区别5、根据数据库与网页编程语言的搭配三、数据库语法基础增删改查数据库有库、表、列、字段、值1、数据库的连接命令行连接以下命令末尾记得加2显示系统中所有数据库的名称输入命令show databases;3新建数据库student命令create database student;新建成功后可再次使用下列命令查看结果show databases;4使用数据库student命令use student;5在数据库student中创建表result命令create table result(id int(8),name varchar(20),city varchar(20),score int(5));6在表result中增加数据本步骤在result中插入如下5行数据命令insert into result(id,name,city,score) values(1,wang,beijing,75); insert into result(id,name,city,score) values(3,li,shanghai,80); insert into result(id,name,city,score) values(5,chen,fuzhou,70); insert into result(id,name,city,score) values(2,zhou,xian,90); insert into result(id,name,city,score) values(7,han,guangzhou,65);注意如果数据是字符型varchar必须使用单引号或者双引号包裹插入成功后可用如下命令查询result表中的全部内容select * from result;7在表result中删除1条数据例如删除id7的数据可使用以下命令delete from result where id7;删除成功后仍然可以用以下命令查看结果select * from result;8修改表result中的1条数据例如修改id5的数据将其score设置为60可使用以下命令update result set score60 where id5;修改成功后仍然可以用以下命令查看结果select * from result;9查询表result中的数据例如select * from result; //查询表中所有字段select name,score from result; //查询表中的name和score字段select score from result where nameli; //查询name为li的学生的分数四、数据库语法的进阶操作1order by的用法1将result表中的数据按照分数score从高到低进行排序select * from result order by score desc其中desc表示降序递减如果从低到高升序进行排列则可以将desc换成asc如果不加此参数默认情况下按升序方式排列。2分别尝试以下命令select id,name,score from result order by 1;正常显示以id升序排列的结果。select id,name,score from result order by 2;正常显示以name升序排列的结果按首字母的顺序排序select id,name,score from result order by 3;正常显示以score升序排列的结果select id,name,score from result order by 4;报错因为只查询了三列4超出范围了。从以上结果可以总结出对于以下命令select c1,c2,...,cn from result order by M;order by后面的数字M必须小于或等于n数据库查询的字段数才能正常显示。如果Mn数据库就会报错。可以利用这个特点判断数据库查询的字段数。2limit的用法基本格式为limit M,N //表示从第M1条数据开始顺序往下查询N条数据 limit M //表示查询前M条数据尝试执行以下两条命令select * from result limit 0,2; //查询表中的前2条数据select id,name,score from result limit 1,3; //从第2条数据起往下查询3条数据的id、name和score字段3union select的用法1select * from result union select 1,2,3,4;此语句的查询结果即是select * from result和select 1,2,3,4查询结果的拼接。2尝试执行以下3条语句select id,name,score from result union select 1,2,3;正常显示select id,name,score from result union select 1,2;报错select id,name,score from result union select 1,2,3,4;报错从以上结果可以总结对于以下命令select c1,c2,...,cn from result union select d1,d2,...dm;后半句union select查询的字段数m必须与前半句select查询的字段数n相等数据库才能正常显示结果。与order by相似可以利用这个特点判断数据库查询的字段数。3尝试执行下列语句select id,city from result where id1 and 12 union select name,score from result;从以上结果可以总结在已知字段名的情况下攻击者只要将该字段置于任何能够显示的位置就可以暴露该字段的值。4union select结合information_schema数据库MySQLMariaDB5.5以上版本自带information_schema数据库其中保存着关于MySQL服务器所维护的所有其他数据库的信息如数据库名、数据库的表、表栏的数据类型与访问权限等。可以把information_schema数据库看作MySQLMariaDB的“目录”1尝试执行以下两条语句show databases select schema_name from information_schema.schemata;2尝试执行以下两组语句第一组use student; show tables;第二组select table_name from information_schema.tables where table_schemastudent;两组命令执行结果相同当确认了数据库的版本时可以尝试从这方面入手注入其他数据库版本的查询语句看上面以上就是今天的分享觉得有帮助记得点赞收藏以上所说到的漏洞扫描工具都整理成压缩包了朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】同时还为准备学习网络安全黑客或者正在学习整理了一套360独家内部资料包含以下内容如有需要也可文末获取①网络安全学习路线②20份渗透测试电子书③安全攻防357页笔记④50份安全攻防面试指南⑤安全红队渗透工具包⑥网络安全必备书籍⑦100个漏洞实战案例⑧安全大厂内部视频资源⑨历年CTF夺旗赛题解析一、网络安全黑客学习路线网络安全黑客学习路线形成网络安全领域所有的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。二、网络安全教程视频我们在看视频学习的时候不能光动眼动脑不动手比较科学的学习方法是在理解之后运用它们这时候练手项目就很适合了。三、网络安全CTF实战案例光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这里带来的是CTFSRC资料HW资料毕竟实战是检验真理的唯一标准嘛~四、网络安全面试题最后我们所有的作为都是为就业服务的所以关键的临门一脚就是咱们的面试题内容所以面试题板块是咱们不可或缺的部分这里我给大家准备的就是我在面试期间准备的资料。网安其实不难难的是坚持和相信自己我的经验是既然已经选定网安你就要相信它相信它能成为你日后进阶的高效渠道这样自己才会更有信念去学习才能在碰到困难的时候坚持下去。机会属于有准备的人这是一个实力的时代。人和人之间的差距不在于智商而在于如何利用业余时间只要你想学习什么时候开始都不晚不要担心这担心那你只需努力剩下的交给时间这份完整版的网络安全学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表