第十届全国大学生信息安全竞赛一道Web题的Writeup
来源:互联网 发布:淘宝防排查防举报 编辑:程序博客网 时间:2024/05/17 00:08
wanna to see your hat?
http://106.75.106.203:1515/
svn文件泄露
使用dvcs-ripper将泄露文件下载下来:
进行代码审计:
关键代码:
$name = str_replace("'","", trim(waf($_POST["name"])));
if (strlen($name) >11){
echo("<script>alert('name toolong')</script>");
}else{
$sql = "select count(*) from t_info where username ='$name' or nickname = '$name'";
echo $sql;
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
if ($row[0]){
$_SESSION['hat']= 'black';
echo 'good job';
}else{
$_SESSION['hat']= 'green';
}
name字段长度不能大于11,只要查询语句返回不为空,就执行:
$_SESSION['hat']= 'black';
echo 'good job';
关键代码:
if(isset($_SESSION['hat'])){
if($_SESSION['hat']=='green'){
output("<imgsrc='green-hat-1.jpg'>",10);
}else{
output("<imgsrc='black-fedora.jpg'>",1);
echo $flag;
}
如果SESSION中存在hat字段,并且其值不等于green,就输出flag,而设置session的地方就是第一处关键代码所在的地方。
而我们不知道哪个name值返回不为空,猜测存在注入,burp抓包:
发现name字段可以注入,不过过滤了很多,经测试发现过滤了空格,%df也被替换了,尝试使用注释绕过,提示good job,说明payload有效,故最终payload为:or /**/1=1#'
在login页面输入框中输入 or/**/1=1#' 即得到flag。
- 第十届全国大学生信息安全竞赛一道Web题的Writeup
- 全国大学生信息安全竞赛writeup--careful(pwn150)
- 全国大学生信息安全竞赛writeup--暗号(reverse300)
- 全国大学生信息安全竞赛writeup--珍贵资料(reverse200)
- 全国大学生信息安全竞赛writeup--拯救地球(reverse500)
- 第十届全国大学生信息安全竞赛-线上赛 write up(持续更新)
- 第九届全国大学生信息安全竞赛之旅
- i春秋-2016-2017年信息安全竞赛 Web writeup 补题 By Assassin
- 2017 Redhat广东省信息安全竞赛 Writeup
- 记第七届全国大学生信息安全技术大赛暨四川省大学生信息安全竞赛
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(WEB安全)
- 第二届360杯全国大学生信息安全技术大赛部分解题思路(WEB安全)
- 第十届“中国电机工程学会杯”全国大学生电工数学建模竞赛 B 题 全面二孩政策对我国人口结构的影响
- 第十届“中国电机工程学会杯”全国大学生电工数学建模竞赛 A 题:微电网日前优化调度
- [360第二届大学生信息安全]WriteUp-加密解密
- 谈谈刚结束的全国大学生电子设计竞赛
- 2011全国大学生数学建模竞赛AB题
- HackIM web的writeup
- 【MIME类型简述】为什么上传文件的表单里面要加一个属性enctype=multipart/form-data?
- GoAccess初识
- HDU1024
- 1004 n^n的末位数字(快速幂)
- android判断点击位置在一扇形区域内
- 第十届全国大学生信息安全竞赛一道Web题的Writeup
- iOS开发之如何用UITableView实时显示歌词
- php的Error与Exception捕获问题
- ubuntu16.04 Server 安装CUDA
- poj 3320 尺取
- ARP(二)
- 2809: [Apio2012]dispatching
- 538. Convert BST to Greater Tree
- Codeforces Round #424 题解