ISCC2016-BASIC、WEB、MISC简单writeup
RE和PWN题目的wp有大神已经放出来了,我也不擅长,就不搬了。bin求带。
BASIC
BASIC-1 50
仿射函数,百度“仿射加密法”,它讲的够清楚了。
BASIC-2 50
结尾的“=”这个特征很明显,base64解密,需要解多次,直到出现flag。
BASIC-3 50
题目说在这个页面却看不到,那么应该是藏在页面的某个地方,F12进入调试模式,找到下图的内容:
提示直接提交貌似不对,那么应该是有加密。ROT13加密,解密一下就OK了。
BASIC-1 100 心灵鸡汤
丢进OD搜了一下,发现了一个字符串。卡了一会,甚至连它的出处都搜到了。然后看了看这串字符只有大小写区别,可能是培根加密,然后解密出来得到flag。
BASIC-1 100 小伟密码
一个老旧无用的加密工具加密了文件,百度上有很多针对它的攻击方法。注意版本问题。(值得一提:如果不是专业的人员,不要自己乱搞什么加密,这就是例证。)
BASIC 200 JJ
文档是JFf*ck编码,不确定代码具体是什么,还是最好解码一下。然后找到网盘地址,下载。然后又是编码(泥煤)。查了一圈,是JJencode,然后在github上找到了脚本,解密出来,是一个JS压缩加密,再解一下吧。最后是一个alert。早知道就放进<script>标签里让它弹出了。
解密脚本获取:github搜索JJencode,第一个就是decoder,复制那个html代码,然后......
WEB
WEB100
注入,burp拦截一下,转存之后用sqlmap可以跑出来。(自己的电脑一直被banIP,换了别人没问题,郁闷)
WEB300
代码审计。真是ping出问题了......题目修改前交的flag,当时用&&dir就可以了,然后打开代码看一下,然后就是绕过去打flag。
WEB350-1 double kill
上传问题。测试了一下,上传的代码应该是过滤了后缀并检查了文件头。给php一句话加了图片头传上去之后,在uploads找到了但是不解析。之后用加了头的JS一句话再传,还是没访问到。注意包含地址,最后加了00截断,成功。(目的不是连接,只要能被解析就可以了。)
http://101.200.145.44/web5/index.php?page=uploads/图片ID.gif%00
http://101.200.145.44/web5/index.php?page=uploads/图片ID.jpg%00
WEB350-2 simple injection
注入问题。测试了可以注入的地方应该是用户名,用户名应该是admin了,有报错。盲注。在freebuf上有一篇类似的文章,用mid()逐位测试。也没有写脚本,用burpsuite上的暴力破解,爆出password字段的32位MD5值,解密,登陆后台即得到flag。
WEB500
这个有点费劲,先看代码。先用双向代理,曝出文件。第一次看了都没认出来是干嘛的。然后理了理,这几句是编码的流程,最后爆出来一句话的密码。然后构造payload完成注册,注意这里需要绕一下。最后带上cookie访问即可。
function checkpassword($user,$pwd,$pdo){
if($user!='admin'){
exit('you are not admin!');
}
$query="SELECT password FROM user WHERE username='admin'";
$result=$pdo->query($query);
if ($result!=null&&$result->rowCount()!==0){
while($row = $result->fetch()){
if ($row['password']===$pwd){
return 1;
}
}
}
return 0;
MISC
MISC 100
Wireshark打开,查看TCP包,追踪TCP流。看起来应该是一个图片。猜测出题者应该是让提取出文件然后操作的,不过在TCP追踪流中已经可以看到FLAG。
去掉空格提交。flag:w23e36ktr04
MISC 200
先用16进制编辑器查看一下吧。搜索常见的ASCII,搜到pass时,找到了密码:bfsiscc2016。
应该是MP3stego了,下载相应的工具,解密出隐藏的txt。
等号结尾一般是base64补位用的,base64解一次,还有等号。再用base64解,出错......实在想不到还有别的加密带=号了,就想着有没有base32。结果真有。在国外网站找到base32解密。最后,是这样解出来的:base64一次,之后用base32再解一次。
base64:SkYzWEk0M1JOWlNHWTJTRktKUkdJTVpXRzVSV0U2REdHTVpHT1pZPQ==
base32:JF3XI43RNZSGY2SFKJRGIMZWG5RWE6DGGMZGOZY=
flag:IwtsqndljERbd367cbxf32gg
MISC 300毕业论文
下载得到doc文件,用相应程序打开另保存为docx。改后缀为ZIP,解压,直接找document.xml。用notepad++打开,观察结构:1.spacing有-2和2之分;2.每个spacing之后仅有一个汉字(也就是对应只算一次)
利用正则将<w:spacing w:val="-2"/>变成0,将<w:spacing w:val="2"/>变成1,利用<.*>清除所有括号。统计出来少了一位。然后8位一行排列一下,每行是一个字符。考虑到最后答案是ASCII字符串,必定不会出现大于0x80的字符。但是字符串中出现了大于0x80的字符,于是人工在第一次出现大于0x80字符的那行的最前面增添了一位0,一次延后一位,所有结果合乎逻辑。转换成字符串得到flag。
MISC300-2加密协议
给了几个txt文档,看样子应该是数据包的转储。用wireshark导入16进制转储,看出来是ISAKMP协议包(主要是IKE协商)。按照次序整理好文件,截获数据对应main模式前4个包,密文对应第五个包。格式wireshark已经整理好了。看出来主要的算法是DES,采用的预共享密钥模式,nonce、双方的公钥还有其他系列的参数都可以提取出来。然后参考RFC2409,http://www.ietf.org/rfc/rfc2409.txt,算出DH的共享密钥、解密。
ISCC2016-BASIC、WEB、MISC简单writeup的更多相关文章
- i春秋misc部分writeup
i春秋misc部分writeup 一.敲击 方方格格,然后看到下面的格式,猜测出是键盘上的布局,然后看这些字母形成的形状想那些字母,就是flag了 2.滴滴滴 放到ctfcack里解密,发现时栅栏密码 ...
- Web Service简单入门示例
Web Service简单入门示例 我们一般实现Web Service的方法有非常多种.当中我主要使用了CXF Apache插件和Axis 2两种. Web Service是应用服务商为了解决 ...
- 通过flask实现web页面简单的增删改查bootstrap美化版
通过flask实现web页面简单的增删改查bootstrap美化版 项目目录结构 [root@node1 python]# tree -L 2 . ├── animate.css ├── fileut ...
- 通过flask实现web页面简单的增删改查
通过flask实现web页面简单的增删改查 # 1.后台程序falsk_web01.py #coding:utf-8 from flask import Flask,render_template,r ...
- @Basic表示一个简单的属性 懒加载,急加载
5.@Basic(fetch=FetchType,optional=true) 可选 @Basic表示一个简单的属性到数据库表的字段的映射,对于没有任何标注的getXxxx()方法,默认 即为 @Ba ...
- CTF-i春秋网鼎杯第二场misc部分writeup
CTF-i春秋网鼎杯第二场misc部分writeup 套娃 下载下来是六张图片 直接看并没有什么信息 一个一个查看属性 没有找到有用信息 到winhexv里看一下 都是标准的png图片,而且没有fla ...
- CTF-i春秋网鼎杯第一场misc部分writeup
CTF-i春秋网鼎杯第一场misc部分writeup 最近因为工作原因报名了网鼎杯,被虐了几天后方知自己还是太年轻!分享一下自己的解题经验吧 minified 题目: 一张花屏,png的图片,老方法, ...
- Web Services简单介绍
Web Services简单介绍 Web Services入门 一.Web Services简介 1.什么是Web Services? Web Services 是应用程序组件 Web Service ...
- Bugku - Misc图穷匕见 - Writeup
Bugku - Misc图穷匕见 - Writeup 原文链接:http://www.cnblogs.com/WangAoBo/p/6950547.html 题目 给了一个jpg图片,下载图片 分析 ...
随机推荐
- [ExtJs] ExtJs4.2 数据模型Ext.data.Model学习
Model代表应用程序管理的一些对象.例如,我们可能会为 我们想在系统中建模的现实世界中的一些物体像使用者.产品和汽车等定义一个Model.这些Model在 Ext.ModelManager中注册,被 ...
- mybatis由浅入深day01_4.7根据用户名称模糊查询用户信息_4.8添加用户((非)自增主键返回)
4.7 根据用户名称模糊查询用户信息 4.7.1 映射文件 使用User.xml,添加根据用户名称模糊查询用户信息的sql语句. 4.7.2 程序代码 控制台: 4.8 添加用户 4.8.1 映射文件 ...
- The content of element type "struts" must match "((package|include|bean|constant)*,unknown-handler-s
<struts> <!-- 配置为开发模式 --> <constant name="struts.devMode" value="t ...
- swift - 各种手势用法大全
UIGestureRecognizer有许多子类,用于监听一些常见的手势事件,这些子类主要有: 1.首先创建几个view,来用于手势的检测 let view1 = UIView() let view2 ...
- Oracle-随机数获取
1.获取10-100的数据,保留两位小数 select trunc(dbms_random.value(10,100),2) from dual ; 2.获取0-1的小数 select dbms_ra ...
- 在linux本地下载ftp中的文件
使用wget命令 -r :会在当前目录下生成192.168.30.14文件名 下面的命令就是下载这个ftp目录"/home/ftp/*"下面的所有文件 wget -r ftp:// ...
- Java多线程详解(二)
评论区留下邮箱可获得<Java多线程设计模式详解> 转载请指明来源 1)后台线程 后台线程是为其他线程服务的一种线程,像JVM的垃圾回收线程就是一种后台线程.后台线程总是等到非后台线程死亡 ...
- 用ajax实现用户名的检测(JavaScript方法)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Atlassian Confluence任意文件读取漏洞
Atlassian Confluence Atlassian Confluence是澳大利亚Atlassian公司的一套专业的企业知识管理与协同软件,也可以用于构建企业WiKi.该软件可实现团队成员之 ...
- sonar-scanner扫描代码出错 SonarQube svn: E170001
问题报错: Caused by: org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: Authentication req ...