Flask_FileUpload

由题目名得知的信息,显然是个文件上传的题目,flask:一种python的web框架

首先Ctrl+U查看页面源代码,一般能看到题目提示

支持jpg,png格式的文件上传,绿色的英文提示意思是上传文件,它会解析python代码并返回运行结果,所以上传php木马的并不能成功

在txt文档中写一段py程序来调用系统命令

导入 os模块 pyhon的os模块包含了普通的系统操作功能,这里os.system('')执行了ls命令

因为上传有格式的限制,所以要重命名把txt后缀改成jpg或者png

点击上传该文件后使用burpsuite抓包,具体怎么抓包这里就不赘述了(看主页有抓包傻瓜式教程)

提示上传成功并发现响应包中返回了当前目录存在app.py templates upload,那么1.jpg中的python代码执行是成功的

把ls命令修改为cat app.py,这一步是查看这个程序代码来分析下,果然发现echo $FLAG>/flag

这句的意思是显示FLAG变量结果并输出到flag文件中

到这一步flag变量名或者存放的文件名已经得知了($FLAG和/flag),最后再修改一下请求包,把cat app.py那里改成

echo $FLAG或者cat /flag最终都能得到flag

滑稽

打开场景发现一堆滑稽,遇事不决首先Ctrl+U查看网页源代码

flag就藏在源代码中,这题基本属于签到题,送分

计算器

打开场景发现一个计算的验证码,输入130点击验证应该就可以了

但发现输入框对长度进行了限制,只能输一位数

按F12 发现maxlength=1.自然只能输一位数,html中maxlength 属性规定输入字段的最大长度,以字符个数计

把1改为3(当然也可以更大),修改后发现可以输入3位数了,点击验证即可得到flag

GET

这段代码意思是what变量以GET方式传参数,当what值为flag时,显示flag

那么直接在url后跟入?what=flag直接得到flag

送分

POST

接下来这题只是GET方式变为POST了

POST方式无法直接在url中传值,这里需要用到firfox浏览器下的hackbar插件

F12后点击HackBar ,load URL放入需要传参数的url,勾选要传递的Post类型data,输入要传递的内容,execute执行后得到flag

矛盾

这段代码的意思是,如果变量num不为数字或数字字符串,执行{}中的语句,如果num等于1,显示flag,所以题目矛盾的意思就是让num又为1又不是数字

is_numeric() 函数用于检测变量是否为数字或数字字符串,!是否的意思。

由于是GET方式传递,直接url后跟?num=1abc即可

首先1abc是一个字符串不是数字,满足了!is_numeric()函数的判断。

再判断1abc是否==1,判断时候1abc由于php规则自动转换成了1,满足条件输出了flag

(这里一个字符串进行比较或者进行运算时,PHP会把字符串转换成数字再进行比较。PHP转换的规则的是:若字符串以数字开头,则取开头数字作为转换结果,若无则输出0。 在PHP中,== 会先进行类型转换,再进行对比,而===会先比较类型,如果类型不同直接返回不相等。)

alert

打开场景后网页反复弹窗,firefox 浏览器自带禁止弹窗功能,笨一点的办法就是一直点确定点到不弹为止(这题弹窗次数不多,不然的话这个方法是不太可行的),其他浏览器设置里禁用javascript代码。

不弹窗后页面一片空白,那先Ctrl+U看一下网页源代码

除了反复弹窗的信息还发现一段字符串,根据常识判断,&#后面的数字应该是Unicode编码值

百度搜一个在线unicode编码工具,转换成ASCll码,成功得到flag

你必须让他停下

此类较为简单的题目,题目名=做题思路

打开后页面图片不停刷新,页面英文也提示停下它即可获得flag,其中只有一刻图是正常的,其他刷新的图片是裂开的

直接Ctrl+U查看源代码

发现每次刷新,图片名字为不同的数字.jpg    也提示flag在此处

那么判断刷新到正确的图片时,flag应该就会出现,直接在查看源代码界面不停F5刷新

成功得到flag 或者禁用浏览器的javascript,不停刷新即可,或者bp抓包send to repeater后不停go,几次后响应包里就会有flag,具体操作就不赘述了

社工-初步收集

正常打开环境按照常规思路Ctrl+U查看一下网页源代码看看有没有提示,然而并没有什么提示

没有提示还就给一个网站,多半是让你渗透进网站后台,然后拿到flag

首先用dirsearch扫描网站目录命令如下

(dirsearch是一个目录爆破工具,kali中输入git clone https://github.com/maurosoria/dirsearch.git安装,不同版命令可能有差别,下载的这个输入dirsearch进入目录 ./dirsearch.py -u 加你要扫的网站url即可扫描)

扫描出该目录,登一下看看果然是一个网站后台登录页面(常识,叫login的基本全是登录界面)

扫出后台,那么现在目标就是登录进去,尝试使用burp suite工具爆破一下账号口令

这里尝试爆破失败,确实是爆破不出来的,如果直接爆破出来进入后台系统拿到flag,那么这题和题目名字的社工(社会工程学)也就没什么关系了,这里的账号口令应该是利用社工的方式拿到的

这条线索断了后再回到网页上观察一下,发现点击下载辅助后可下载一个压缩文件

下载后解压出来发现是一个刷钻工具,当然这是题目环境测试用的

随便输入一下试试,这里真实情况的话是用来盗取你的qq用户名密码的,所以用这个的时候要关闭杀毒软件,不然会提示是木马

CTF中一般拿到一个工具会想到逆向方面的思路,但这里是Web题而且是社工 显然用不到

这里用Wireshark网络分析仪(为什么要用wireshark?CTF中一般提示或flag会藏在数据包中,而且线索到这个刷钻工具这,用wireshark来分析网络流量,再结合题目名和题目分类判断)

wireshark怎么下载使用就不赘述了,开始捕获后使用下载的刷钻工具,让wireshark抓到数据包

果然抓到了用户密码和邮箱信息藏在包的info中。这里需要现将用户名密码进行base64解码(常识判断出来basse64,base64编码特点是结尾一般有==号且是一长串混合的英文数字)

百度下在线解码工具,分别解码得到用户名bugkuku@163.com密码XSLROCPMNWWZQDZL

用用户名密码登录刚刚的后台管理系统,发现还是不对,那这就是邮箱的账号密码(用户名是个邮箱号)

后缀是163的直接登录这个邮箱发现账号密码还是错误(挺绕),后来得知除了官方的登录方式用账号密码外,还可以用授权码登录。

直接使用windows自带的邮箱

这次能成功登录了

题目的这一步应该就是社工信息收集部分了,翻看邮件查找有用信息 发现邮件内容

主人:mara 生日:20010206

这个就是后台登录系统的账号密码了(题目环境变了,原来是一封邮件内容,根据邮件里的信息推断出账号密码是这个的,少了一小步,这里也提醒我们不要使用生日名字之类的弱口令作为账号密码,通过一些个人敏感信息可以生成专属的爆破字典来提升爆破的成功率)

登录进来四处找找有什么可以利用的地方,直接得到flag(如果再加几步就有点麻烦了)

专注新手教学,网上的wp大多没有思路过程,对于新手学习没有什么意义,关注我后续更新更多网络安全内容。

Bugku CTF-Web篇writeup 3-11相关推荐

  1. BugKu CTF(杂项篇MISC)—放松一下吧

    CTF BugKu CTF (杂项篇MISC) 攻与防 放松一下吧 描 述: bugku{} 下载后是一个压缩包. 一.工具 十六进制编辑工具 010 editor 图片加解密工具F5-stegano ...

  2. BugKu CTF(杂项篇MISC)—想要种子吗

    CTF BugKu CTF (杂项篇MISC) 攻与防 想要种子吗 提 示: 描 述:flag{} 题目下载后是一张图片,打开如下. 一.工具 十六进制编辑器010 editor kali系统文件分离 ...

  3. BugKu CTF(杂项篇MISC)—猫片(安恒)

    CTF BugKu CTF (杂项篇MISC) 攻与防 猫片(安恒) 描 述: hint:LSB BGR NTFS 题目下载后是一张图片,打开如下. 一.工具 十六进制工具 010 editor编辑器 ...

  4. BugKu CTF(杂项篇MISC)---细心的大象

    BugKu CTF(杂项篇MISC)-细心的大象 下载得到图片 foremost 分离得到压缩包 foremost 1.jpg 查看图片详细信息 TVNEUzQ1NkFTRDEyM3p6 base64 ...

  5. BugKu CTF Web

    BugKu CTF Web 滑稽 计算器 GET POST Simple_SSTI_1 矛盾 eval 变量1 Simple_SSTI_2 alert 你必须让他停下 方法一 方法二 方法三 网站被黑 ...

  6. BugKu CTF(Crypto篇)---where is flag 5

    BugKu CTF(Crypto篇)-where is flag 5 文章目录 BugKu CTF(Crypto篇)---where is flag 5 题目描述 首先一看就是base64 解码内容好 ...

  7. BugKu CTF(杂项篇MISC)---妹子的陌陌

    BugKu CTF(杂项篇MISC)-妹子的陌陌 下载得到图片 binwalk分离rar压缩包 binwalk -e file.jpg 这个压缩包有密码.找了一圈没有发现密码,试了一下也不是伪加密. ...

  8. BugKu CTF(解密篇Crypto)—这是个盲兔子,竟然在唱歌!

    BugKu CTF(解密篇Crypto)-这是个盲兔子,竟然在唱歌 下载得到 ⡥⠂⡶⡃⡔⡷⡦⡛⡨⠁⠟⡚⠉⠇⡳⡜⡉⡤⡴⡑⡓⡆⡑⡔⡆⡠⡩⡹⠂⡢⡪⡵⡢⡟⡶⡹⠃⡒⠁⡥⡞⠟⡚⡞⡣⡣⡤⡀⡡⡆⠉⡼⡻⠀⠉⡧⡙⠇⡦⡇⡧ ...

  9. BugKu CTF(杂项篇MISC)--一切有为法如梦幻泡影

    BugKu CTF(杂项篇MISC)–一切有为法如梦幻泡影 文章目录 BugKu CTF(杂项篇MISC)--一切有为法如梦幻泡影 下载解压得 <察>.zip Zero.png one.p ...

  10. BugKu CTF(解密篇Crypto)---道友不来算一算凶吉?

    BugKu CTF(解密篇Crypto)-道友不来算一算凶吉? 文章目录 BugKu CTF(解密篇Crypto)---道友不来算一算凶吉? 题目 题解 编码方式 二进制转字符串 bsae64 解密 ...

最新文章

  1. pstree进程管理
  2. 《自写原创程序,让vim运行c/c++》
  3. 第一百九十四节,jQuery EasyUI,Droppable(放置)组件
  4. ElasticSearch中distinct,count和group by的实现
  5. 浅谈WeakHashMap
  6. virtualBox中的ubuntu共享文件夹
  7. leafLet API 中文文档翻译
  8. 服务器上有涉密文件,涉密文件保密管理规定
  9. Macaca-iOS入门那些事2
  10. VC6.0 Raising Error spawning cl.exe solution
  11. mpacc和计算机硕士,考MPAcc还是工作?读研三年VS工作三年对比!
  12. java 性能优化分析工具_【java】JVM性能调优监控工具、可视化在线内存分析工具...
  13. 携程酒店自动化360度质量保障体系
  14. 怎么查看电脑IP地址?
  15. u盘文件看得见却打不开_u盘可以显示但是打不开怎么办
  16. 上古卷轴5json文件修改_改进名称的新Tempering名称定制SSE
  17. android摄像头拍照代码,Android调用摄像头拍照开发教程
  18. 10分钟学会 Qt 扁平化界面(qss 使用)
  19. JS实现数字自动转换人民币金额(自动格式化输入的数字/千位分隔符)
  20. Atom 修改Atom快捷键 实测可行

热门文章

  1. 1.爬虫数据提取——方法总结
  2. 2022-2027年中国酒店式公寓市场规模现状及投资规划建议报告
  3. 2021年中国机器学习平台软件及服务市场规模近100亿,市场保持高速增长
  4. Navicat for MySQL使用教程(增删改查的实现)
  5. Mac入门实用手册:键盘快捷键(图文详解)
  6. 快速搭建自己的跑腿服务平台:开源跑腿系统源码分享
  7. 计算机公式减,excel中用函数进行减法的运算
  8. 从永远到永远-Oracle的PL/SQL学习(存储过程学习)
  9. 心形图Python代码详细解析
  10. K折交叉验证代码示例