POST注入

您所在的位置:网站首页 sql注入语句万能密码 POST注入

POST注入

2023-10-30 06:59| 来源: 网络整理| 查看: 265

目录

一.POST注入介绍

二.SQLMAP如何对POST类型SQL注入进行注入

三.万能密码的具体解释

(1)原理

(2)万能密码语句

四.万能密码具体步骤

五.实例分析

一.POST注入介绍

        首先简单回顾一下注入攻击的本质,是把用户输入的数据当作代码来执行。还有注入的两个关键条件:①用户能够控制输入  ②原本程序要执行的代码,拼接用户输入的数据。

        而post注入是属于注入的一种,顾名思义是使用post进行传参的注入。需要注意post注入的高危点有:登录框、查询框等各种和数据库有交互的框。最经典的post注入就是万能密码  ('or 1=1#),而今天主要讲的就是万能密码。

        注意:post注入的时候不会进行url编码,所以注释的时候不能用--+,而是用--空格或者#。以及 post注入也可以使用联合查询。

二.SQLMAP如何对POST类型SQL注入进行注入

这是实战中较常用到的方法,以下是两种利用sqlmap注入的方法。

切记:未经授权不可随意用真实网站进行相关操作

打开sqlmap的终端,输入命令:sqlmap.py -u http://...... --form(该方法会缺少很多内容建议使用第二种方法)①先用bp对某个页面进行抓包  ②将数据包内容复制下来,放入txt文件,并将注入处标上*号,以便于告诉sqlmap测试哪个点  ③再用sqlmap读取数据包进行sql注入,读取数据包的命令:sqlmap.py -r txt的文件路径 (可以直接拖进去) 三.万能密码的具体解释 (1)原理

        通过编写恶意语句,使得随意输入的账号密码判断为真,进而实现万能密码的登陆。

(2)万能密码语句

        在密码后添加' or 1=1#(最后的#可以换成--空格)即可实现万能密码的登陆。

        第一个单引号是为了和密码前的单引号闭合。(密码前的单引号指的是sql语句中密码前的单引号,在登陆框是看不见的,若不理解可以看实例分析里的图片)

        or是或者的意思,or前后语句只要有一个为真即返回真。例如:语句1 or 语句2,假设语句1为假,就要接着判断语句2的真假性,若语句2为真,则语句1 or 语句2返回真。所以万能密码利用or的特性,不管我们密码输入的是什么,只要or后面语句为真即可成功登陆。

        #是注释掉sql语句最后落单的单引号,作用是使得语句正常执行。

四.万能密码具体步骤 随便写个账号密码然后使用万能密码语句回显出正确账号密码后,使用正确的账号密码进行一系列的查询数据库步骤(该步骤类似于显错注入,可参考SQL注入--显错注入(zkaq)_咕噜yay的博客-CSDN博客) 五.实例分析

切记:该操作都是在靶场中进行的,未经授权不可随意用真实网站进行相关操作

题目如下图所示,即使没有考点和任务要求的相关提示,我们通过登陆框也能猜想这是个post注入

 先随便填写账号密码,然后使用万能密码' or 1=1# ,使得登陆成功并获取正确账号密码。

 接着可以用显错注入类似的方法进行进一步地获取信息

如下图可以依次进行测试,得出该数据库有3个字段。

 然后查询表名,发现有flag表。

 接着查询flag表里的字段,发现有flag字段。 

接着去查看flag的内容

所以zKaQ-PostK1就是最后的flag



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3