POST注入-显错注入 ——合天网安实验室学习笔记

实验链接

POST是HTTP/1.1协议中的一种资源请求方法。其向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。本实验主要介绍了POST传送工具的使用,学会根据显错信息来设定注入语句。

链接:http://www.hetianlab.com/expc.do?ce=d2ed6f88-8aa7-489a-ac4a-371fa8b750ac

实验简介

实验所属系列: SQL注入初级

实验对象:本科/专科信息安全专业

相关课程及专业: web应用安全、网络攻击与对抗

实验类别:实践实验类

预备知识

POST是HTTP/1.1协议中的一种资源请求方法。其向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。这个请求可能会创建新的资源或修改现有资源,或二者皆有。

在很大一部分的表单都是通过POST方式发送到处理页面的。

实验目的

  • 了解POST传送工具的使用

  • 根据显错信息来设定注入语句

实验环境

  • 服务器:windows2003 ,IP地址:10.1.1.10

  • 客户端:winXP,IP地址随机分配

实验步骤

步骤一

打开桌面上的火狐浏览器,在『POST注入-显错注入』下找到『POST - 基于错误 - 单引号 - 字符型:
POST注入-显错注入 ——合天网安实验室学习笔记跳转到了登录页面,此时随意输入,提交后可看到网页将sql语句给出:
POST注入-显错注入 ——合天网安实验室学习笔记尝试在用户名处加 or ‘1’=‘1’ 绕过sql检测:
POST注入-显错注入 ——合天网安实验室学习笔记
POST注入-显错注入 ——合天网安实验室学习笔记登录后发现多了一个 ’ ,重新尝试:
POST注入-显错注入 ——合天网安实验室学习笔记
POST注入-显错注入 ——合天网安实验室学习笔记
分析一下,or ‘1’=‘1’ 应该放在password后,或者再连接一个 or 语句,否则or的内容和password一起判断。

再次尝试:
POST注入-显错注入 ——合天网安实验室学习笔记
POST注入-显错注入 ——合天网安实验室学习笔记
此时绕过检测成功,成功获取用户名及密码。

关键代码为:

POST注入-显错注入 ——合天网安实验室学习笔记

请构造语句来显示所有的用户名和密码

’OR 1#

构造提示语句查看所有用户:
POST注入-显错注入 ——合天网安实验室学习笔记

步骤二

打开桌面上的火狐浏览器,在『POST注入-显错注入』下找到『POST - 基于错误 - 双引号 - 字符型 - 变形』,
POST注入-显错注入 ——合天网安实验室学习笔记
先随便输入,查看sql语句提示:
POST注入-显错注入 ——合天网安实验室学习笔记
和实验一一样,只是处理符号有变形,稍作修改即可:
POST注入-显错注入 ——合天网安实验室学习笔记
POST注入-显错注入 ——合天网安实验室学习笔记成功获取用户名与密码。

关键代码为
POST注入-显错注入 ——合天网安实验室学习笔记

请构造语句来显示所有的用户名和密码

")OR 1#

根据提示重新构造语句查看所有用户:
POST注入-显错注入 ——合天网安实验室学习笔记

答题

POST注入-显错注入 ——合天网安实验室学习笔记

感想

之前我自己考虑的方式只能获取数据库中第一个用户的用户名与密码,而根据提示构造的语句则是列出数据库中所有的用户名与密码。

‘#’表示注释后面的内容,也就是把 ” limit 0,1 “ 注释掉了,即把显示数据库信息的限制条件注释了,这样就可以看到所有的用户信息了。

“ or 1=1 # "是数据库注入的万能语句。