攻防世界writeup

  • 前言
  • web
    • 新手练习
      • view_source
      • get_post
      • robots
      • backup
      • cookie
      • disabled_button
      • simple_js
      • xff_referer
      • weak_auth
      • webshell
      • command_execution
      • simple_php
    • 高手进阶
      • ics-06
      • NewsCenter
      • mfw
      • NaNNaNNaNNaN-Batman
      • PHP2
      • unserialize3
  • 结语

前言

自己在做bugku时,同时去做了攻防世界,其中分的也很详细。于是想将自己的writeup记录下来。

web

新手练习

view_source

右键不能使用,那么直接在url中输入view-source:,就能查看源码。

get_post

就是get传参和post传参。
get传参:

post传参:

robots

既然时robots协议,直接查看robots.txt:

然后发现有个php文件:

直接进入:

backup

就是备份文件,一般备份文件就是.bak的文件,直接输入:

将备份文件下载下来,查看源码就可以的到flag。

cookie

进入后,F12打开开发者工具,找到储存,找到cookie,发现有一个cookie.php文件:

然后进入cookie.php,发现他让你查看response。
burp suite抓包,查看response。

就得到了flag。

disabled_button

按钮不能按,一般就是HTML中<button>标签设置了disabled=""。
F12将disabled=""删去,就可以按了,然后就可以得到flag。

simple_js

看题目就知道是考察js的。
进去后先随便输个密码,到网页后查看源码。得到一段js代码。

观察发现,pass其实没什么用,是假密码。真正的密码在:javascript String[“fromCharCode”];
用python处理:

每个数字都是ASCII码,转换一下就是:786OsErtk12

falg就是格式加上那个字符串。

xff_referer

进入就提示:ip地址必须为123.123.123.123
那肯定是改X-Forwarded-For:。用burp suite抓包。
又提示:必须来自https://www.google.com
那就是改referer:.
再抓包。注意,要同时添加xxf和referer。

weak_auth

进入后是个登陆界面,我输入admin 123后,提醒我密码错误,输入abc 123后提醒我用admin登陆。那么就不需要猜用户名了。登陆失败后,查看源代码,发现:
那肯定就是爆破了。用burp suite抓包,进行密码爆破。
最后密码是:123456

webshell

直接连接菜刀,发现目录下有一个flag.txt,打开就是flag。

command_execution

进去后发现是个ping命令的输入框。
首先要了解,command1 && command2 先执行command1后执行command2;command1 | command2 执行command2,不执行command1;command1 & command2 先执行command2,再执行command1。
于是构造:127.0.0.1 | ls …/…/…/…/home 返回:

发现flag.txt。于是再构造:127.0.0.1 | cat …/…/…/…/home/flag.txt 得到flag:

simple_php

简单的代码审计。

首先是a参数,a与零相等,但不能是零,可以构造:a=0a。
然后是b参数,b不为数字,且b大于1234,可以构造:b=12345b。
传参就可以得到flag。

高手进阶

ics-06

我刚开始以为是注入题,最后没想到是个坑爹题。
直接对id进行爆破,最后当id=2333时,就可以得到flag。
。。。。。

NewsCenter

这道题就是sql注入的题。

输入1 ’ 报错,输入1 ’ #不报错。

第一步:
输入:1 ’ order by 4#报错,输入1 ’ order by 3#不报错。
说明有三列,进行联合注入。

第二步:
输入1 ’ union select 1,2,database()#
得到数据库:news

第三步:
输入:1 ’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘news’#
得到两张表:news,secret_table
flag肯定再secret_table中。

第四步:
输入:1 ’ union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘secret_table’#
得到字段:id,fl4g

第五步:
输入:1 ’ union select 1,2,fl4g from secret_table#
得到flag。

mfw

进入about,发现有git,可能时git泄露。
用GitHack进行下载源码。进行代码审计。

//index.php
<?phpif (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}$file = "templates/" . $page . ".php";assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");// I heard '..' is dangerous!// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");?>....................html code<?phprequire_once $file;?>

发现有一个assert函数。assert()函数在验证断言之前将其参数解释为PHP代码。
于是我们可以构造:’) or system(‘cat ./templates/flag.php’);//

得到flag。

NaNNaNNaNNaN-Batman

有一个附件。下载下来是一个压缩包。解压,得到web100文件。
打开后,发现是个脚本,但是是乱码:

观察到,_应该是个函数,并且在最后eval了。
改后缀为html。并且将eval改为alert,就能得到解码后的代码。

function $(){var e=document.getElementById("c").value;if(e.length==16)if(e.match(/^be0f23/)!=null)if(e.match(/233ac/)!=null)if(e.match(/e98aa$/)!=null)if(e.match(/c7be9/)!=null){var t=["fl","s_a","i","e}"];var n=["a","_h0l","n"];var r=["g{","e","_0"];var i=["it'","_","n"];var s=[t,n,r,i];for(var o=0;o<13;++o){document.write(s[o%4][0]);s[o%4].splice(0,1)}}
}document.write('<input id="c"><button οnclick=$()>Ok</button>');delete _

再将alert改为eval,就得到了个输入框。
分析源码,用正则来构造输入:be0f233ac7be98aa。
输入就得到了flag。

PHP2

进去,没什么可以利用的。找robots.txt也没有。
只能用御剑扫,但是扫了半天,也没个结果。最后去百度了。。。。™的告诉我是phps。。。。
进入后查看源码是一个php代码片段。
观察代码,发现有urldecode()函数,肯定得url编码。这里需要url编码两次,一次是url递交时自动解析的,还有一次就是代码中解析的。
于是可以构造:111.198.29.45:34974/index.phps?id=%2561%2564%256D%2569%256E

unserialize3

从题目就可以看出来,是个反序列化的题。

这道题主要考查了反序列化中的__wakeup函数的漏洞:
一个字符串或对象被序列化后,如果其属性被修改,则不会执行__wakeup()函数,可以用来绕过。

在本地搭建环境,来测试:

然后得到序列化:

将1改为2,传入到code中就可以得到flag。

结语

持续更新中。。。。

攻防世界writeup相关推荐

  1. 攻防世界writeup——Web(持续更新)

    文章目录 ics-06(XCTF 4th-CyberEarth) NewsCenter( XCTF 4th-QCTF-2018) lottery(XCTF 4th-QCTF-2018) NaNNaNN ...

  2. 攻防世界reverse进阶easyre-153 writeup(#gdb调试父子进程、#ida版本差异)

    文章目录 学习目标: 引言 第一步.查脱壳 1.查壳 2.脱壳 3.查看文件格式 第二步.IDA静态分析 1.IDA版本的小坑 2.分析main函数 3.分析lol函数 第三步.gdb动态分析 1.m ...

  3. file upload 攻防世界_菜鸡 CTF 之旅 Writeup (攻防世界)

    前言 我是个菜鸡,菜鸡就要先走新手练习区. 这次 CTF Writeup 的指定训练站点为 攻防世界 新手练习区 Web 区 view_source 题目描述:X老师让小宁同学查看一个网页的源代码,但 ...

  4. XCTF攻防世界Web之WriteUp

    XCTF攻防世界Web之WriteUp 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 view-source2 0x02 get post3 0x03 rob ...

  5. 攻防世界 MISC 新手练习区 writeup 001-006

    攻防世界 MISC 新手练习区 题目解答 文章目录 001 this_is_flag 002 pdf 003 如来十三掌 004 give_you_flag 005 stegano 006 坚持60s ...

  6. 攻防世界web高手进阶区ics-05(XCTF 4th-CyberEarth)WriteUp

    文章目录 解题部分 总结: 解题部分 题目来源 攻防世界web高手进阶区ics-05(XCTF 4th-CyberEarth) 1.拿到题目以后,发现是一个index.php的页面,并且设备-没有显示 ...

  7. 攻防世界web新手区easyphp题解writeup

    写在前面 最近在学习CTF web相关知识,顺带学习php,在攻防世界平台上做做题.遇到了一道名为easyphp的题目,对我这个新手一点也不easy,于是决定把过程记录下来. 参考了官网上shuita ...

  8. 攻防世界misc新手_[攻防世界]mobile新手练习区easy-apk

    [攻防世界]mobile新手练习区easy-apk easy-apk最佳Writeup由129师386旅独立团 • devi1提供 难度系数: 7.0 题目来源: 暂无 题目描述:无 题目场景: 暂无 ...

  9. 攻防世界 ——crypto

    目录 新手区部分题解: 1,easy_RSA 2,Normal_RSA 3, 幂数加密 4,easy_ECC 高手进阶区部分题题解 5, ENC 6,告诉你个秘密 7,Easy-one 8,说我作弊需 ...

最新文章

  1. 谷歌量子计算登上Nature封面,首次实现量子优越性,里程碑式突破
  2. Vue.js 组件注册
  3. boost::spirit模块实现演示语法的普通计算器示例
  4. facebook工具xhprof的安装与使用-分析php执行性能
  5. Python之深入解析Vulture如何一键找出项目中所有无效的代码
  6. .net core实践系列之SSO-同域实现
  7. A20 网卡驱动分析
  8. 数字的可视化:python画图之散点图sactter函数详解
  9. “蔚小理”将齐聚港股!蔚来申请在港IPO,计划3月10日上市 9个月亏损近19亿元...
  10. html阴影 渐变,CSS3:图层阴影及渐变
  11. 串口服务器芯片方案商,串口服务器芯片
  12. python浮点数保留两位小数_(RPA)学习——Python 保存两位小数
  13. 如何选择最佳云托管服务提供商
  14. 我的世界学园都市java_我的世界学园都市地图
  15. 博弈论基础知识--非合作博弈,零和博弈,负和博弈,主从博弈,Nash均衡
  16. UTF-8转GBK(GBK转UTF-8)
  17. Java web 集成使用QQ互联
  18. div设置为可获取焦点并且判断是否已获取焦点的方法
  19. 融合差分变异策略和自适应调整权重的改进蝴蝶优化算法
  20. DAP数据分析平台介绍

热门文章

  1. “rm -rf /” 与 “rm -rf /*”的强大威力,瘫痪系统,推荐使用mv代替rm
  2. Ubuntu安装谷歌拼音输入法/搜狗拼音输入法
  3. 直线一级倒立摆数学建模与控制仿真
  4. 每日一犬 · 哈瓦那犬
  5. 贾扬清官宣:从阿里离职,或将投身AI创业!
  6. 文件服务器 协同编辑,在 Office 365 中协同共享一同编辑文件
  7. 移动端meta设置大全(持续收集中。。。。)
  8. 罗技的鼠标驱动试用感受
  9. 人工智能的主要研究方向都有哪些
  10. android软键盘enter键