sql注入之堆叠和二次注入

1.1 堆叠注入原理

堆叠注入(Stacked Injection)是一种SQL注入技术,它允许攻击者一次性执行多条SQL语句。其原理主要是利用Web应用程序中的输入验证不严格,通过在输入字段中插入分号(;)来分隔并构造新的SQL语句,从而实现在原本的SQL语句之后执行额外的恶意操作。

1.2 堆叠注入靶场

http://192.168.1.24/sqli-labs/Less-38/

1.3 堆叠注入方式

例如插入一条数据在users字段中,两条不同sql语句用分号隔开

?id=1';insert into users(username,password)values('ikun','jinitaimei')--+

数据插入后页面没有回显,通过查询查看

?id=-1' union select 1,group_concat(username,0x3a,password,0x3C,0x68,0x72,0x2F,0x3E),3 from users--+

2.1二次注入原理

二次注入:二次注入是存储型注入,可以理解为构造恶意数据存储在数据库后,恶意数据被读取并进入到了SQL查询语句所导致的注入。恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入。简言之就是将脏数据进行简单过滤后开发者就认为该数据可信便存入数据库中,当下一次调用该数据时,该数据就会拼接到其他查询语句中造成注入。

2.2 二次注入的靶场

http://192.168.1.24/sqli-labs/Less-24/new_user.php

2.3 二次注入方式

首先注册一个新的账号

然后登录该账号

登录之后,修改密码,该修改密码功能的语句变为

UPDATE users SET passwd="New_Pass" WHERE users='admin'

这时候我们就是在进行越权改变管理员的密码,从数据库中抽出我们注册的新账户,用该账户越权修改管理员的密码

将密码改为1234,然后用管理员的账户,登录密码1234

管理员账户登录成功
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值