POST注入 |
您所在的位置:网站首页 › sql注入语句万能密码 › POST注入 |
目录 一.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 |