基于约束的sql攻击是怎样的

基于约束的攻击是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联服务项目包括文登网站建设、文登网站制作、文登网页制作以及文登网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,文登网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到文登省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

一、基于约束的sql攻击原理

1、新建表格名字为user,该表的约束的是名字和密码长度不能超过10

create table user(id int primary key auto_increment,//id字段,int类型,关键字,自动增加name varchar(10) not null,//name字段,字符串,不允许为空pass varchar(10) not null)//year字段,int类型,不允许为空

2、插入两条正常数据

insert into user (name,pass) values ("aiyou",123456);insert into user (name,pass) values ("admin",123456);

3、插入长度大于10的用户名

insert into user (name,pass) values ("admin123456789",123456);

4、查看插入的数据,发现只保留了十个字符

基于约束的sql攻击是怎样的

5、再插入一条加空格的用户名,发现和不加空格插入的admin一样

基于约束的sql攻击是怎样的

二、实例应用

1、访问http://192.168.0.104/aiyou/php/zc.html,提示输入用户名和密码,输入点击提交,提示用户名已存在

基于约束的sql攻击是怎样的

基于约束的sql攻击是怎样的

2、试着把用空格填充,密码为123321

基于约束的sql攻击是怎样的

基于约束的sql攻击是怎样的

3、查看数据库,成功插入管理员账号

基于约束的sql攻击是怎样的

三、源码

html页面:

<form action="zc.php" method="post" target="_blank">用 户 名:<input type="text" name="user">密    码:<input type="password" name="pass1">确认密码:<input type="password" name="pass2"><input type="reset"><input type="submit" name="submit" value="提交"></form>

PHP页面:

<meta charset="gbk"><?php$host="192.168.0.104";$username="root";$password="root";$dbname="jay";$MySQL=new Mysqli($host,$username,$password,$dbname);if($mysql->connect_errno){    die("数据库连接失败:".$mysql->connect_errno);}else{    if(isset($_POST['submit'])){        $name=$_POST['user'];        $sql="select * from user where name='$name'";        $res=$mysql->query($sql);        $num=$res->num_rows;        #echo $num;         if($num==0)    {        $password=$_POST['pass1'];//获取表单里的密码                  if(isset($_POST['user']) && isset($_POST['pass1']) && isset($_POST['pass2']))         {        #echo $password;        #echo "<br>";        $q="insert into user(name,pass) values ('$name',$password)";//向数据库中添加数据        #echo $q;        #echo "<br>";        $res=$mysql->query($q);//执行sql语句           #echo $res;        #echo "<br>";        $mysql->close();        echo "恭喜".$_POST['user']."注册成功";        }else{        echo "注册信息有误";        }    }else{        echo "用户名已存在";         }            }else{         echo "请通过表单提交";    }}?>

看完上述内容,你们掌握基于约束的攻击是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

文章标题:基于约束的sql攻击是怎样的
本文网址:https://www.cdcxhl.com/article2/gcjooc.html

成都网站建设公司_创新互联,为您提供企业网站制作App设计网站导航做网站面包屑导航品牌网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司