博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql注入解析(三)数据库类型
阅读量:6566 次
发布时间:2019-06-24

本文共 1015 字,大约阅读时间需要 3 分钟。

hot3.png

mysql、mssql和oracle数据库都有自己特有的一些命令,我们可以根据它们确定我们要注入的数据库类型。mysql与mssql中select @@version返回当前数据库的版本,oracle中 select banner from v&version 返回数据库版本。 不同数据库构造字符串的访问也不一样。如,要构造字符串“yeetrack”, oracle 中的命令是 'yee'||'track' ,mssql中的命令是 'yee'+'track', mysql中的命令是 'yee' 'track',中间是个空格。

Oracle数据库:
1.、对于一个查询的URL,例如http://www.yeetrack.com/?p=57,首先试探这个URL需要返回的列数,构造URL  http://www.yeetrack.com/?p=54%20union%20select%20null%20from%20dual--,查看返回结果,如果错误说明返回列数不为1,增加null的个数,http://www.yeetrack.com/?p=57%20union%20select%20null%20null%20from%20dual--,直到结果不发生错误为止。
2、 确定了返回的列数,再来确认每一列的类型,依次将null改为'a',查看返回结果,返回a则正确;出现异常再修改'a'的位置,直到正确为止。
3、找到了一个正确的类型,就可以探测数据库的信息了。查询当前用户拥有的数据库的全部对象,selectobject_name, object_type fromuser_object.根据返回的信息,找到感兴趣的表,再探测该表的列。selectcolumn_name fromuser_tab_columns where table_name='tablename', 最后探测该表的数据, select username, password from user--
MSSQL数据库:
1、 同oracle数据库。
2、 同oracle数据库。
3、 探测数据库的信息,select name from sysobjects--,找到感兴趣的表,就可以提出表的字段和信息了。
本文是由发表在上的原创文章,原文地址为:

 

 

 

转载于:https://my.oschina.net/u/147181/blog/164780

你可能感兴趣的文章
Active Directory 对象授权还原
查看>>
WYSE *.ini常用写法以及ConfGen工具
查看>>
实例分析mysql用户登录
查看>>
CCNP听课笔记7
查看>>
Qt4连接mysql5数据库
查看>>
shell脚本批量追踪ip路由走向
查看>>
Zabbix 3.2.6通过ODBC监控MySQL&Oracle
查看>>
Office 365系列之十:批量部署O365客户端
查看>>
Spring Cloud源码分析(二)Ribbon(续)
查看>>
SystemCenter2012SP1实践(5)SCVMM管理HyperV
查看>>
了解DELL的raid卡电池相关信息
查看>>
教你一招超级简单的方法快速搞定grub.conf文件的丢失及损坏
查看>>
06-Windows Server 2012 R2 会话远程桌面-标准部署-RD网关(RemoteApp)
查看>>
CCNA(Stand-ALONE)Lab 10-ARP
查看>>
Tomcat 与 Resin PK大战
查看>>
Android--SoundPool
查看>>
MySQL 存储过程
查看>>
Azure操作手册集合
查看>>
安装Windows Vista
查看>>
Snap和Flatpak 通吃所有发行版的打包方式。
查看>>