本章目的
普及字符型GET注入的原理和特点,掌握利用联合查询(unionselect)的方法实现SQL注入的基本流程。
实验环境
攻击机:Pentest-Atk
(1)操作系统:Windows10
(2)安装的应用软件:Sqlmap、Burpsuite、FireFox浏览器插件Hackbar、
FoxyProxy等
(3)登录账号密码:操作系统帐号Administrator,密码666
靶机:A-SQLi-Labs
(1)操作系统:本机(建议用虚拟机)不过我太懒了[]~( ̄▽ ̄)~*
(2)安装的应用软件:Apache、MySQL(MariaDB)、PHP:DVWA、SQLi-Labs、
webug3.0网站环境
(3)登录账号密码:操作系统帐号root,密码666
实验原理
字符型GET注入,其注入点存在于URL中的GET参数处,如http://www.testweb.com/user.phpzid=admin,而服务器后端实际查询代码原型诸如:"select...from...where id='$id'..."。
攻击者可以通过构造恶意的GET输入参数,利用unionselect命令进行注入,暴露数据库中存储的信息。
实验步骤
本实验的目标是:以SQLi-Labs网站的Les5-1为入口,利用联合查询(unionselect)的方式实施SQL注入,获取SQLi-Labs网站的登录用户名和密码。
1.访问SQLi-Labs网站
在攻击机Pentest-Atk打开FireFox浏览器,并访问粑机A-SQLi-Labs上的
SQLi-labs网站Less-1。访间的URL为:
http://[靶机IP]/sqli-labs/less-1/
(注意大小写)
登录后,根据网页提示,先给定一个GET参数,即
http://[靶机IP]/sqli-labs/Less-1/?id=1
此时页面显示id=1的用户名Dump、密码Dump
说明:本实验环境中FireFox浏览器已预安装Hackbar插件,在FireFox界面按下键盘上的F9键启用或停用(本实验环境中默认为启用状态)。建议在注入过程中用Hackbar插件来调整payload参数。
在此设置payload并执行
2.寻找注入点
分别使用以下3条payload寻找注入点及判断注入点的类型
http://[靶机IP]/sq1i-1abs/less-1/id=1'
运行后报错!
http://[靶机IP]/sq1i-1abs/less-1/?id=1 and 1=1
http://[靶机IP]/sq1i-1abs/less-1/?id=1 and 1=2
由上述结果可以判断,网站存在字符型注入点。
以下几类操作参照其兄弟篇获取
3.判断网站查询的字段数
4.判断网站的回显位置
5.获取网站当前所在数据库的库名
6.获取数据库security的全部表名
7.获取users表的全部字段名
8.获取users表id、username和password字段的全部值。
以下为最基础的数据库操作收集
SQL注入 - sql数据库操作基础
SQL注入——SQLmap的进阶使用(十五)_Gjqhs的博客-CSDN博客
...
关注我即刻查看其他更高级SQL注入[]~( ̄▽ ̄)~*