Web后端(MysqL基础):正常安装、启动MysqL,建库、创建用户、修改密码、建表
Web后端:编写PHP网页,连接数据库,进行用户认证
最简单的sql注入,XSS攻击测试 功能描述:用户能登陆,登陆用户名密码保存在数据库中,登陆成功显示欢迎页面。 2 实验步骤 2.1 Web前端HTML 输入service apache2 start
打开Apache服务 浏览器访问127.0.0.1
如果可以打开Apache的默认网页,则开启成功 如果打开失败,输入netstat -tupln |grep 80
查看80端口被占用情况,再输入kill+进程ID
杀死进程
输入vi /var/www/HTML/5209/ login.HTML
在Apache工作目录下建立一个含有表单的HTML文件。访问结果如下。
//login.HTML <HTML> <head> <Title>Login</Title> <style type="text/CSS"> .divForm{ position: absolute;/*绝对定位*/ wIDth: 400px; height: 200px; border: 1px solID white; background: #ffffff; text-align: center;/*(让div中的内容居中)*/ top: 50%; left: 50%; margin-top: -200px; margin-left: -200px; } </style> </head> <body > <center><h1>Welconme To Login</h1></center> <div > <form action="login" method="post"> <p>User Login</p> <p> Username<input type="text" name="username"/><br><br> </p> <p> Password <input type="password" name="userpwd"/><br> </p> <input type="submit" value="submit"/> </form> </div> </body> </HTML>2.2 Web前端javascipt 在上面的login.HTML基础上做了增强版login2.HTML,增加了对是否输入了用户名或密码的判断。结果如下
//login2.HTML <HTML> <head> <Title>Login</Title> <style type="text/CSS"> .divForm{ position: absolute;/*绝对定位*/ wIDth: 400px; height: 200px; border: 1px solID white; background: #ffffff; text-align: center;/*(让div中的内容居中)*/ top: 50%; left: 50%; margin-top: -200px; margin-left: -200px; } </style> <script language="JavaScript"> function check(){ if(document.name.username.value == ""){ alert("Please check your Username"); return false ; } if(document.name.userpwd.value == ""){ alert("Please check your Password"); return false ; } } </script> </head> <body > <center><h1>Welconme To Login</h1></center> <div > <form name="name" action="login" method="post"> <p>User Login</p> <p> Username<input type="text" name="username"/><br><br> </p> <p> Password <input type="password" name="userpwd"/><br> </p> <input type="submit" value="submit" onClick="return check()"/> </form> </div> </body> </HTML>2.3 Web后端(MysqL基础) 输入
/etc/init.d/MysqL start
开启MysqL服务 输入MysqL -u root -p
使用root权限进入,默认密码为password 输入show databases;
查看数据库基本信息 输入use MysqL;
选择MysqL数据库 输入select user,password,host from user;
查看当前用户信息 输入update user set password=PASSWORD("20165209") where user=‘root‘;
修改密码 输入flush privileges;
更新权限 输入exit
退出数据库,使用新的密码登录 输入create database csb;
建立数据库 输入use csb;
使用刚刚创建的数据库 输入create table csbtable (userID VARCHAR(45),username VARCHAR(45),password VARCHAR(45),enabled VARCHAR(45));
建立数据表 输入show tables;
查看存在的数据表 输入insert into csbtable(userID,username,enabled) values(1,‘20165209‘,‘5209‘,"TRUE");
在表中添加内容 输入select * from csbtable;
查询表中的数据 输入grant select,insert,update,delete on csb.* to [email protected] IDentifIEd by "20165209";
增加新用户,将数据库csb的root权限(包括select,delete)授权给当前用户 退出后使用新的用户名和密码重新登录,登陆成功即说明增加新用户成功 2.4 Web后端PHP 在/var/www/HTML目录下新建一个test1.PHP
//test.PHP <?PHP echo ($_GET["a"]); include($_GET["a"]); echo "This is PHP test page!<br>"; ?>
在浏览器中输入localhost/test1.PHP
进行查看,结果如下
//login2.PHP <?PHP $uname=$_POST["username"]; $pwd=$_POST["userpwd"]; echo $uname; $query_str="SELECT * FROM csbtable where username='$uname' and password='$pwd';"; $MysqLi = new MysqLi("127.0.0.1","csb","20165209","csb"); /* check connection */ if ($MysqLi->connect_errno) { printf("Connect Failed: %s\n",$MysqLi->connect_error); exit(); } echo "connection ok!"; /* Select querIEs return a resultset */ if ($result = $MysqLi->query($query_str)) { if ($result->num_rows > 0 ){ echo "<br> {$uname}:Welcome!!! <br> "; } else { echo "<br> login Failed!!!! <br> " ; } /* free result set */ $result->close(); } $MysqLi->close(); ?>注:修改登录网页将其与PHP文件相连时,主要更改为
action="login2.PHP"
2.5 最简单的sql注入,XSS攻击测试 sql注入:通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,通过把sql命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的sql命令。
在用户名中输入‘ or 1=1#
密码任意输入,可登陆成功。因为合成后的SQL查询语句为select * from lxmtable where username=‘‘ or 1=1#‘ and password=‘‘,
# 相当于注释符,会把后面的内容都注释掉,而1=1是永真式,这个条件恒成立,所以能够成功登陆。
<img src="Ali.jpg"/>
密码任意输入,可登陆成功。 实验总结与体会 本次实验是和以往的实验有点不同,主要是对整个WEB各部分都分别进行了尝试,最后还进行了sql注入。这个实验在我感觉也更有趣。
总结以上是内存溢出为你收集整理的2018-2019-2 20165209 《网络对抗技术》Exp8: Web基础全部内容,希望文章能够帮你解决2018-2019-2 20165209 《网络对抗技术》Exp8: Web基础所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)