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

sql注入_mysql_day04

Dem0 2021-07-22
402

补一个day_03的思维导图:

sql注入产生的条件:有数据的接收 可以带入数据库查询 数据库不做过滤或者过滤不严谨

mysql注入分为数字型和字符型两种 为啥分这两种呢?主要--> 

数字型和字符型的闭合!!!比如 模糊查询 和前后带括号 都需要一定的闭合

get和post提交 

网站用php编写 源码如下:

<?php

$get=$_GET['g'];

echo $get;

$post=$_POST['p'];

echo $post;

?>

通访问 传参 将g赋值123

将p赋值

发现p没有赋值成功 因为 p采用post进行传输

需要用post进行赋值


赋值成功!

cookie注入:

网站依然使用php 

源码:

<?php

$get=$_GET['g'];

echo $get;

$post=$_POST['p'];

echo $post;

$a=$_COOKIE['c'];

echo $a;

?>

通过burpsuite进行抓包

在中间插入cookie 发送即可



request注入:

request可以接受 get post cookie 3中方式的数据提交 

源码:

<?php

$get=$_GET['g'];

echo $get;

$post=$_POST['p'];

echo $post;

$a=$_COOKIE['c'];

echo $a;

$r=$_REQUEST['r'];

echo $r;

?>

可以通过3种方式进行提交 如post

http头部注入:

通过更改 数据包中的 参数 从而达到  更改 页面显示参数效果的功能

example:正常访问


更改burpsuite里面的  

字符型注入: 单引号闭合第五关和双引号闭合第六关

sqli的第5关 常规操作 and1=1  and 1=2 测试发现无报错 判断为 字符型注入 采用 单引号进行闭合 之后采用 and '1'= '1'    无报错  and  '1'='2'进行 测试 发现  页面异常 存在注入点 

或者闭合注释后面一切

sqli的第6关 常规操作 and1=1  and 1=2 测试发现无报错 判断为 字符型注入 采用 双引号进行闭合 之后采用 and "1"= "1"    无报错  and  "1"="2"进行 测试 发现  页面异常 存在注入点 

或者闭合注释后面一切 

第11关的登陆框框  sql语句就是 普普通通的 select 加上where  上两个条件 and 判断 当都为真才执行   存在sql注入漏洞 先胡乱输入一个用户名 然后用 单引号进行闭合  换成 or 1 然后用#进行 注释后边的 语句 这样就完成了  绕过  成功登陆 

这里的#不能换成--+ 因为在这个框框里面被当做了字符进行录入 不能完成 注释掉后边的功能 +号不好使的原因是因为它可以代表空格

在mysql中 注释是  --空格  进行的  所以在 url地址栏里面 我们用--+ 进行注释  +可以被url地址栏转义成空格 从而达到注释后边代码的作用

 



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

评论