mysql注入基础&Linux基础

致敬

https://www.freebuf.com/column/201364.html

basic stucture of mysql database

mysql5内置系统数据库IFORMATION_SCHEMA,记录了数据库中所有的数据库名、数据库表名、数据库表字段名。
其中的关键表:
SCHEMATA,存储数据库名,关键字段:SCHEMA_NAME ->数据库名称
例句:
select schema_name from INFORMATION_SCHEMA.SCHEMATA;

则查询到的是当前所有数据库的名称。
tables:存储表名
关键字段:TABLE_SCHEMA ->表示该表名属于哪个数据库名
关键字段:TABLE_NAME ->存储表的表名
例句

select table_name from INFORMATION_SCHEMA.tables ; //查询所有的表名
select table_name from INFORMATION_SCHEMA.tables where table_schema=’dvwa’; //查询dvwa数据库的表名
columns:存储列名
关键字段:TABLE_SCHEMA ->该字段所属数据库名

关键字段:TABLE_NAME ->存储所属表的名称

关键字段:COLUMN_NAME ->该字段的名称
例句:

select column_name from INFORMATION_SCHEMA.columns where table_name=’users’ and table_schema=’dvwa’;//查找dvwa数据库中user表中所有字段
常用变量
Select database() 数据库名称
Select VERSION() 数据库版本信息
Select @@VERSION 数据库版本信息
Select @@GLOBAL.VERSION 数据库版本信
user() 系统用户和登录主机名
current_user() 当前登录用户和登录主机名
system_user() 数据库系统用户账户名称和登录主机名
session_user() 当前会话用户名和登录主机名

写一句话
select ‘’intooutfile ‘/var/www/html/dvwa/1.php’; //导出一句话木马

判断列数
order by n
如果order by n报错并且order by n-1返回结果,则列数为n-1

linux命令

find(待补充)
find / -name ‘fla‘ 查找所有包含fla的文件
find / -name flag 查找所有以flag命名的文件
-iname选项不区分大小写

空格绕过

cat flag.txt
cat${IFS}flag.txt
cat$IFS$9flag.txt
cat<flag.txt
cat<>flag.txt

ls

ls -l 列出文件详细信息,如权限 大小 所有者和所属组,修改时间等
ls -all / ll 显示隐藏文件、列出文件详细信息,如权限 大小 所有者和所属组,修改时间等
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
第一个-代表文件,d代表目录,l代表链接。
r 读 w写 x执行
三段分别对应用户、组、其他的权限。 root root 分别表示用户、用户所在的组

chmod

chmod u/g/o +/-/= r/w/x filename
chmod u+x 1.txt 当前user可执行1.txt
chmod 755 1.txt 对应权限:rwxr-xr-x