Exp 8 Web基础 20164318 毛瀚逸
?
1.本實踐的具體要求有:
(1).Web前端HTML(0.5分)
? ?能正常安裝、啟停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。
(2).Web前端javascipt(0.5分)
? 理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。
(3).Web后端:MySQL基礎:正常安裝、啟動MySQL,建庫、創建用戶、修改密碼、建表(0.5分)
(4).Web后端:編寫PHP網頁,連接數據庫,進行用戶認證(1分)
(5).最簡單的SQL注入,XSS攻擊測試(1分)
?
2.1.基礎問題回答
? ?(1)什么是表單
記錄用戶需要填寫的信息、傳遞給后端
? ?(2)瀏覽器可以解析運行什么語言。
html、python、java等等
? (3)WebServer支持哪些動態語言
php、Java Server Pages、ASP
?
3.1實驗步驟
1上次實驗中已經用過了apache2,這次就直接打開
然后測試一下,在瀏覽器中輸入127.0.0.1
apache2服務正常開啟
?
然后進入/var/html/www目錄,建立一個新的表格
?
代碼如圖
1 <html>2 <head>3 <title>Login in</title>4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />5 </head>6 <body>7 <h2 align="center">Login</h2><center>8 <form action="login" method="post">9 <input placeholder="E-mail" name="Name" class="user" type="email"> 10 <br> 11 </br> 12 <input placeholder="Password" name="Password" class="pass" type="password"> 13 <br> 14 </br> 15 <input type="submit" value="Login"> 16 </form> 17 </body> 18 </html>在瀏覽器打開,可以看到效果
3.2Web前端JavaScript
在原有基礎上,添加一段JavaScript代碼在form之后,以判斷用戶是否填寫用戶名和密碼。
<html>2 <head>3 <title>Login</title>4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />5 </head>6 <body>7 <h2 align="center">Login</h2>8 <center>9 <form action="login" method="post" name="form_login"> 10 <input placeholder="E-mail" name="Name" class="user" type="email" οnfοcus="if (this.value=='Your email') this.value='';" /> 11 <br> 12 </br> 13 <input placeholder="Password" name="Password" class="pass" type="password" οnfοcus="if (this.value=='Your password') this.value='';"/> 14 <br> 15 </br> 16 <input type="submit" value="Login" onClick="return validateLogin()"/> 17 </form> 18 </center> 19 <script language="javascript"> 20 function validateLogin(){ 21 var sUserName = document.form_login.Name.value ; 22 var sPassword = document.form_login.Password.value ; 23 if ((sUserName =="") || (sUserName=="Your email")){ 24 alert("User Email!"); 25 return false ; 26 } 27 if ((sPassword =="") || (sPassword=="Your password")){ 28 alert("Password!"); 29 return false ; 30 } 31 } 32 </script> 33 </body> 34 </html>效果如圖
?
3.3Web后端:MySQL基礎使用/etc/init.d/mysql start命令開啟mysql服務
?
使用mysql -u root -p命令,并輸入默認密碼password登錄,進入mysql中使用show database查看數據庫信息
好像哪有點問題,那么我們新建數據庫
然后use BreakingDoge對新建的庫進行調用
調用之后創建一個新的數據表MHY
再使用insert into 表名 values('值1','值2','值3');命令,在數據表中填寫相應的數據
使用grant select,insert,update,delete on 數據庫.* to 用戶名@登錄主機 identified by "密碼";命令 在數據庫中增加新的用戶。
最后更改密碼,使用update user set password=PASSWORD("4318") where user='root';將密碼改為4318
?
?
3.4Web后端:編寫PHP網頁,連接數據庫,進行用戶認證
我們用PHP和MYSQL兩者結合再加上之前編寫的簡單的登陸網頁進行身份驗證
?
?
可以看到效果
3.5最簡單的SQL注入,XSS攻擊測試
SQL注入:通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。
將SQL查詢語句改為select * from wyhy where username='' or 1=1#' and password='',此時在用戶名輸入框中輸入' or 1=1#
?
因為#直接把后面的判斷注釋掉,直接成功。。。。
3.5.2XSS攻擊測試
將一張圖片放在/var/www/html目錄下。
在用戶名輸入框輸入<img src="*.jpg"?/>
?但是不知道為什么失敗了。。。。
?
4實驗心得
這次實驗似乎更加貼近與生活了,我之前在新聞里面看到的入侵的手法也在這次的實驗中有所體現,感覺很有意思啊。
轉載于:https://www.cnblogs.com/breakingdoge/p/10885541.html
總結
以上是生活随笔為你收集整理的Exp 8 Web基础 20164318 毛瀚逸的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2016晔子小跟班行走城市第一站深圳仙湖
- 下一篇: 读懂DUMP文件