攻防世界(XCTF)WEB(进阶区)write up(二)
国庆就要莫得了 起床刷几道

NewsCenter
mfw
Training-WWW-Robots
NaNNaNNaNNaN-Batman
bug
NewsCenter

search传参那里发现有注入 注入出flag即可 没太大转弯
' and 0 union select 1,2,fl4g from secret_table #

mfw
发现git泄露 下载下来看源码

index.php中关键源码:
<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = "home";
}
$file = "templates/" . $page . ".php";
// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");
?>
assert这个函数在php语言中是用来判断一个表达式是否成立。返回true or false;
$file =templates/ abc') or system("cat templates/flag.php");// ".php"
assert("strpos('templates/ abc') or system("cat templates/flag.php");// ".php"', '..') === false") or die("Detected hacking attempt!");
strpos中传入了abc,所以其肯定返回false,在利用or让其执行system函数,再用" // "将后面的语句注释掉
注意这里之所以能像注入攻击一样执行system函数是因为外面有代码执行函数assert
Training-WWW-Robots
这题莫得意思 看到robots就可以看到flag文件了
NaNNaNNaNNaN-Batman
下载下来个文件,打开发现是一段javascript脚本

eval(_)改为console.log(_) 控制台输入调试下

function $()
{
var e=document.getElementById("c").value;
if(e.length==16)
if(e.match(/^be0f23/)!=null)
if(e.match(/233ac/)!=null)
if(e.match(/e98aa$/)!=null)
if(e.match(/c7be9/)!=null){
var t=["fl","s_a","i","e}"];
var n=["a","_h0l","n"];
var r=["g{","e","_0"];
var i=["it'","_","n"];
var s=[t,n,r,i];
for(var o=0;o<13;++o)
{
var a=document.write(s[o%4][0]);s[o%4].splice(0,1)
}
}
}
document.write('<input id="c"><button οnclick=$()>Ok</button>');
delete _
这里如果你要正常满足条件输入 然后打印flag
- 输入的字符串长度必须为16个字符
- 字符串的开头必须要匹配
be0f23 - 字符串的结尾必须要匹配
e98aa - 字符串中要能匹配到
233ac和c7be9
be0f233ac7be98aa

你直接打印也行

bug
这题有点多 但是不难
打开是个登录

注册号账号后查看是否登陆进去没能找到漏洞
打开修改密码界面,尝试是否有逻辑漏洞
将admin账号的密码成功修改为qing


点击后显示ip不匹配 伪造ip头发现xff可以


源码看到注释
<!-- index.php?module=filemanage&do=???-->
这里就需要fuzz了 看到filemanage大概也知道是upload upfile之类的

上传fuzz下

攻防世界(XCTF)WEB(进阶区)write up(二)的更多相关文章
- 攻防世界(XCTF)WEB(进阶区)write up(四)
ics-07 Web_php_include Zhuanxv Web_python_template_injection ics-07 题前半部分是php弱类型 这段说当传入的id值浮点值不能为1 ...
- 攻防世界(XCTF)WEB(进阶区)write up(三)
挑着做一些好玩的ctf题 FlatScience web2 unserialize3upload1wtf.sh-150ics-04web i-got-id-200 FlatScience 扫出来的lo ...
- 攻防世界(XCTF)WEB(进阶区)write up(一)
cat ics-05 ics-06 lottery Cat XCTF 4th-WHCTF-2017 输入域名 输入普通域名无果 输入127.0.0.1返回了ping码的结果 有可能是命令执行 ...
- 攻防世界 ctf web进阶区 unserialize
进入到题目的界面,看到以下源码 构造payload=?code=O:4:"xctf":1:{s:4:"flag";s:3:"111";} 结 ...
- 【攻防世界】 高手进阶区 Recho WP
0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod ...
- 攻防世界-web-高手进阶区018-easytornado
1.查看主页面 2.查看其他页面,/welcome.txt http://111.198.29.45:39004/file?filename=/welcome.txt&filehash=9ae ...
- 攻防世界-Crypto高手进阶区部分Writeup
1.flag_in_your_hand && flag_in_your_hand1 下载,解压后 打开index文件,直接点击get flag错误,输入其他点击也同样 打开js文件,在 ...
- 攻防世界-WEB-新手练习区
附:|>>>攻防世界-WEB-高手进阶区<<<|
- 攻防世界 Misc 新手练习区 stegano CONFidence-DS-CTF-Teaser Writeup
攻防世界 Misc 新手练习区 stegano CONFidence-DS-CTF-Teaser Writeup 题目介绍 题目考点 隐写术 摩斯密码 Writeup 下载附件是PDF文件打开,研究一 ...
随机推荐
- FreeSql (十一)更新数据 Where
var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initia ...
- Android的消息循环与Handler机制理解
一.概念 1.事件驱动型 什么是事件驱动?就是有事了才去处理,没事就躺着不动.假如把用户点击按钮,滑动页面等这些都看作事件,事件产生后程序就执行相应的处理方法,就是属于事件驱动型. 2.消息循环 把需 ...
- TabHost创建的2种方式
一.如果是自定义TabHost步骤如下 1.必须给tabHost跟标签设置一个android:id="@android:id/tabhost"> 2.必须创建TabWidge ...
- 使用HTML制作网页
网页基本信息[编码格式] gb2312:简体中文,一般用于包含中文和英文的页面 ISO-885901:纯英文,一般用于只包含英文的页面 big5:繁体中文,一般用户带有繁体字的页面 utf-8:国际通 ...
- 设置IntelliJ IDEA支持lambda表达式
使用IntelliJ IDEA做为开发工具,对基于maven的java工程,如果要编写lambda表达式,先确保安装并使用了jdk1.8或者更高版本,然后再要做一些设置才能正常编译和执行,具体表现在m ...
- select2获取选中的val和text
用自己起的id就可以 获取val:$("#id").val() 获取text:$("#id").select2("data")[0].tex ...
- springboot项目启动报错 url' attribute is not specified and no embedded datasource could be configured
报错相关信息: 2019-07-22 17:12:48.971 ERROR 8312 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : **** ...
- hadoop之hdfs架构详解
本文主要从两个方面对hdfs进行阐述,第一就是hdfs的整个架构以及组成,第二就是hdfs文件的读写流程. 一.HDFS概述 标题中提到hdfs(Hadoop Distribute File Syst ...
- jenkins自动化部署项目4 -- 安装和配置jdk、maven、git
Jenkins提供了自动安装jdk,maven,git的功能,在[系统设置-全局工具配置]里,但是我自动安装没反应,因此我是先手工安装和配置它们的环境变量然后再在[系统设置-全局工具配置]里配置: 1 ...
- python 课后习题 猜数游戏
4.1 猜数游戏.在程序中预设一个0~9之间的整数,让用户通过键盘输入所猜数字,如果大于预设的数,显示“遗憾,太大了”:如果小于预设的数,显示“遗憾,太小了”:如此循环,直至猜到该数,显示“预测N次, ...