XJNU-CTF 2018
闲来无事,最近在做CTF题,感觉再不练练手我就废了。
1.本地文件包含+文件上传拿flag
-
地址题目:http://ctf.xjnu.edu.cn:666/
题目分析:
看到题目,有两种思路:1).利用文件上传拿
webshell
,然后找到flag
; 2).利用文件包含拿webshell
,然后找到flag
。 目标很明确,思路也有,然后实践操作,结果发现文件上传走不通,然后想利用文件包含漏洞可以读文件,经证实的确可以读取到文件,但是要找flag
就比较难了,因为我不知道flag
在哪啊!于是就有另一种想法,利用远程文件包含拿webshell
,后来经读upload.php
源码发现,应该是不能远程文件包含的。那么最后就剩本地文件包含了,正好呢此处可以上传文件,因此先上传一个图片,不过图片内容改为一句话木马,然后包含这个图片,此时图片里面的一句话木马就会被解析执行,这样我们就拿到了webshell
.
具体操作如下,正好回顾下基础知识
- 利用文件包含读本地文件
/etc/passwd
- 由于最后知道了
flag
文件名和路径,这里就顺便演示下,如下:
- 读取
upload.php
文件源码
读取格式
?file=php://filter/read=convert.base64-encode/resource=文件名
然后base64解码
此时看到
upload.php
源码,可知文件上传拿webshell是行不通的
- 同样读取
index.php
,如下:
然后base64解码
可以看出,此文件包含是对包含文件参数
file
是做了正则匹配过滤的。
解题
- 上传图片
zzqsmile.jpg
,然后抓包写一句话。
- 上传成功!
- 然后包含上传的图片
upload/zzqsmile.jpg
,如下:
- ok!下面就可以用菜刀尝试连接了。
nice! 没毛病!
- 最后就简单了,找
flag
。
flag: flag{pHp_Lfi_t0_Be_Shell!} 之前读文件读的就是这个文件。
2.SQL注入拿flag
- 题目分析: 很明显根据提示信息,此题是道SQL注入的题目,可以看下源码,或者直接可以尝试
index.php?id=1
。
可以发现,此处可能就是注入点,经确认的确存在注入。
- 下面就是sql注入流程一顿操作,最后得到
flag
。
解题完毕!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
别瞎传了,美枪杀程序员事件是造谣!!!
昨天朋友圈被《因代码规范问题,美国一码农枪杀了 4个同事》刷屏了,还有很多公众号和自媒体转载传播,包括咱各种技术群,甚至还有我们公司内部技术群,都在转发和讨论此事件。传播范围不可谓不广,造成了很大的影响,或许成为中秋后茶余饭后的谈资。。 我的朋友圈很多程序员朋友们看后都觉得瑟瑟发抖,说回公司要好好写代码了,好好写注释,感觉程序员瞬间成了高危职业。。 后来看了两个技术大佬的微博澄清,自己也上原网站看了原文新闻,证实了该新闻确实是假新闻。 原文地址: https://www.theepochtimes.com/middleton-shooting-4-injured-at-wts-paradigm-office-building-in-wisconsin_2665307.html 原文根本没提到程序员,说程序员的是什么心态?不管是原作者理解有误,还是炒作,或是造谣,我想利用公众炒作的嫌疑更大。包括像 CXXN等著名机构也进行了转发,这种公众有点影响力的媒体机构都不进行信息度鉴定就接受投稿投放,确实不应该。。 说实话,我也感觉非常气愤,为我们工作在底层的程序员们鸣不平。代码规范问题不至于死,...
- 下一篇
从统计到概率,入门者都能用Python试验的机器学习基础 CDA数据分析师 4天前
要学习统计,就不可避免得先了解概率问题。概率涉及诸多公式和理论,容易让人迷失其中,但它在工作和日常生活中都具有重要作用。先前我们已经讨论过描述性统计中的一些基本概念,现在,我们将探讨统计和概率的关系。 前提条件: 与上一篇博客类似,本文不要求读者具备统计知识,但至少要对 Python 有一个基本的了解。考虑到读者可能不太了解 for 循环和列表, 下面将先对它们做个简单的介绍。 什么是概率? 从最基本的层面上来说,概率要回答的是一个这样的问题:「一个事件发生的几率是多少?」为了计算某个事件发生的几率,我们还要考虑其它所有可能发生的事件。 概率问题的典型代表是扔硬币。在扔硬币的过程中,只会产生两种结果: 1. 正面朝上 2. 反面朝上 这两种结果构成了一个样本空间,即所有可能结果的集合。为了计算一个事件发生的概率,我们要统计该事件发生(比如将硬币掷为正面朝上)的次数,并用它除以总试验次数。因此,概率会告诉我们,把一枚硬币掷为正面朝上或反面朝上的几率为 1/2。通过观察可能发生的事件,概率可以为我们提供一个预测事件发生频率的框架。 然而,即使结果看起来很明显,但如果我们真的试着去扔一些硬币...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Hadoop3单机部署,实现最简伪集群
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7安装Docker,走上虚拟化容器引擎之路