0x01 Wechall writeup
storage:writeup
time:2018/4/6
0x01 Wechall writeup
Limited Access
权限限制,限制了GET方法,改用POST或其他请求方式绕过限制
Plaintext code for .htaccess
AuthUserFile .htpasswd
AuthGroupFile /dev/null
AuthName "Authorization Required for the Limited Access Challenge"
AuthType Basic
<Limit GET>
require valid-user
</Limit>
Training: Crypto - Caesar II
明显是ascii码的数字,直接编写脚本,观察输出即可找到password
if __name__ == '__main__':
str = '''XXXXXXXXXXXXXX'''
str = str.split()
for j in range(0, 256):
for i in str:
print(chr((int(i,16)+j)%128), end='')
print()
Impossible n'est pas français
分解质因数,6秒内分解数百位的数字几乎不能实现,但是发现提交错误答案后会返回正确的答案,直接写脚本提交一次错误答案然后获取正确答案再次提交
Training: Crypto - Substitution I
还是凯撒加密,直接用词频分析破解网站
Limited Access Too
还是限制请求方法,除了PATCH其余都被限制了,使用PATCH绕过限制
PHP 0818
考虑ord()函数返回字符串的首个字符的ASCII值,提交3735929054的十六进制
Training: Net Ports
使用curl中 --local-port [端口]命令,校园网可以成功,但是联通网始终无法生效,也许是运营商限制了端口使用
Training: Encodings I
全是0和1先想办法转换成ascii字符,441位除8除不尽,考虑七位分一组,最前加0构造ascii码
Training: Baconian
培根加密,密文只有a和b,一般使用斜体字母为a其余为b,此处可假设大写为a小写为b,每五个ab为一组对应一个字母,U\V和I\J有可能拥有相同编码,先用python解出培根密码再用培根解密
Training: Crypto - Digraphs
字母两两配对替换一个真实字母,猜测第一个单词是congratulations.然后得出一部分密码对应,再逐步解码
Training: Regex
正则表达式的应用,注意正则表达式的前后在这里要加上/再提交,最后一个/^(wechall4?).(?:jpg|gif|tiff|bmp|png)$/
Training: MySQL II
用union直接把构造的账户密码传入
1' union select 1,'admin',md5('123') -- &password=123&login=Login
Training: Warchall - The Beginning
level0 was the welcome text:
$ grep solution 0/README.txt //grep搜索获取匹配模式的一行字符
Oh .... and your solution to level0 is: "bitwarrior" without the quotes.
level1 was finding the solution out of various files
$ find 1
gave me a file called SOLUTION.txt
$ grep solution 1/blue/pill/hats/gray/solution/is/SOLUTION.txt
Your solution for this level is: LameStartup
level2 was a hidden file //获取隐藏文件ls -a(显示所有文件目录选项)
$ grep solution 2/.porb/.solution
The solution is HiddenIsConfig
level3 was finding the solution in the bash_history file //.bash_history文件包含了操作历史
$ grep solution 3/.bash_history
The solution to SSH3 is: RepeatingHistory
level4 was chmod the file in your home dir (~) //chmod改变文件的权限
level5 was protecting your home folder:
$ umask 0077 //umask修改初始化文件的默认权限
$ chmod -R 0700 ~
0x01 Wechall writeup的更多相关文章
- 0x00 Wechall writeup
目录 0x00 Wechall writeup Training: Get Sourced Training: ASCII Encodings: URL Training: Stegano I Tra ...
- 那些年我们学过的PHP黑魔法
那些年我们学过的PHP黑魔法 提交 我的评论 加载中 已评论 那些年我们学过的PHP黑魔法 2015-04-10 Sco4x0 红客联盟 红客联盟 红客联盟 微信号 cnhonker_huc 功能介绍 ...
- PHP黑魔法(该篇文章转自:http://www.91ri.org/12634.html 目的是作为自己的笔记方便查找)
那些年我们学过的PHP黑魔法 作者:Matrix_ling 序 这里必须得说一下==和===这俩货的重要性.==是比较运算,它不会去检查条件式的表达式的类型===是恒等,它会检查查表达式的值与类型是否 ...
- 《安全智库》:48H急速夺旗大战通关writeup(通关策略)
作者:ByStudent 题目名字 题目分值 地址 MallBuilder2 350 mall.anquanbao.com.cn MallBuilder1 200 mall.anquanbao.c ...
- We Chall-Training: Encodings I -Writeup
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- We Chall-Encodings: URL -Writeup
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- We Chall-Training: ASCII—Writeup
MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...
- IOLI-crackme0x01-0x05 writeup
上一篇开了个头, 使用Radare2并用3中方法来解决crackme0x00, 由于是第一篇, 所以解释得事无巨细, 今天就稍微加快点步伐, 分析一下另外几个crackme. 如果你忘记了crackm ...
- 2018国赛 - Writeup(待补充)
10.0.0.55 Writeup Web 0x01 easyweb 解题思路 题目很脑洞 用户名admin 密码123456进去可得到flag(密码现在换了) 解题脚本 无 Reverse 0x02 ...
随机推荐
- Office Online Server 在线编辑Office文档,安装部署
Office Online Server部署安装 部署环境 一台windows server2012 (搭建域环境)/多次遇坑之后,强烈建议域环境为server2012 一台windows serve ...
- 剑指offer:序列化二叉(前序遍历+层次)
1. 题目描述 /** 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存. 序列 ...
- Mac操作:Mac系统移动鼠标显示桌面(移动鼠标到角落)
很多朋友都发现,有的人在用Mac的时候,鼠标一划就可以显示桌面,或者显示Launchpad.其实很简单,下面就介绍这个方法. 首先打开系统偏好设置: 然后点击红色圈中的图标:MissionContro ...
- 物联网架构成长之路(35)-利用Netty解析物联网自定义协议
一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做 ...
- (三十一)golang--面向对象之工厂模式
golang面向对象中是不存在构造函数的,可以使用工厂模式. 使用工厂模式,让即使不是大写的变量可以被外部包使用.
- jQuery 源码解析(六) $.each和$.map的区别
$.each主要是用来遍历数组或对象的,例如: var arr=[11,12,13,14]; $.each(arr,function(element,index){ //遍历arr数组 console ...
- Vue.js 源码分析(二) 基础篇 全局配置
Vue.config是一个对象,包含Vue的全局配置,可以在启动应用之前修改下列属性,如下: ptionMergeStrategies ;自定义合并策略的选项silent ...
- python asyncio wait和gather
1. wait, 等待某某执行完成以后才执行下一步 FIRST_COMPLETED = concurrent.futures.FIRST_COMPLETED FIRST_EXCEPTION = con ...
- tf.clip_by_value
tf.clip_by_value(t, clip_value_min, clip_value_max, name=None) 功能:基于定义的min与max对tesor数据进行截断操作,目的是为了应对 ...
- Spring Security OAuth2 Demo —— 客户端模式(ClientCredentials)
前情回顾 前几节分享了OAuth2的流程与其它三种授权模式,这几种授权模式复杂程度由大至小:授权码模式 > 隐式授权模式 > 密码模式 > 客户端模式 本文要讲的是最后一种也是最简单 ...