闲来无事,最近在做CTF题,感觉再不练练手我就废了。

1.本地文件包含+文件上传拿flag

看到题目,有两种思路:1).利用文件上传拿webshell,然后找到flag; 2).利用文件包含拿webshell,然后找到flag。 目标很明确,思路也有,然后实践操作,结果发现文件上传走不通,然后想利用文件包含漏洞可以读文件,经证实的确可以读取到文件,但是要找flag就比较难了,因为我不知道flag在哪啊!于是就有另一种想法,利用远程文件包含拿webshell,后来经读upload.php源码发现,应该是不能远程文件包含的。那么最后就剩本地文件包含了,正好呢此处可以上传文件,因此先上传一个图片,不过图片内容改为一句话木马,然后包含这个图片,此时图片里面的一句话木马就会被解析执行,这样我们就拿到了webshell.

具体操作如下,正好回顾下基础知识

  • 利用文件包含读本地文件/etc/passwd
XJNU-CTF 2018
2.png
  • 由于最后知道了flag文件名和路径,这里就顺便演示下,如下:
XJNU-CTF 2018
3.png
  • 读取upload.php文件源码
    读取格式
?file=php://filter/read=convert.base64-encode/resource=文件名
XJNU-CTF 2018
4.png

然后base64解码

XJNU-CTF 2018
5.png

此时看到upload.php源码,可知文件上传拿webshell是行不通的

  • 同样读取index.php,如下:
XJNU-CTF 2018
6.png

然后base64解码

XJNU-CTF 2018
7.png

可以看出,此文件包含是对包含文件参数file是做了正则匹配过滤的。

解题

  • 上传图片zzqsmile.jpg,然后抓包写一句话。
XJNU-CTF 2018
8.png
  • 上传成功!
XJNU-CTF 2018
9.png
  • 然后包含上传的图片upload/zzqsmile.jpg,如下:
XJNU-CTF 2018
10.png
  • ok!下面就可以用菜刀尝试连接了。
XJNU-CTF 2018
11.png

nice! 没毛病!

  • 最后就简单了,找flag
XJNU-CTF 2018
12.png

flag: flag{pHp_Lfi_t0_Be_Shell!} 之前读文件读的就是这个文件。


2.SQL注入拿flag

XJNU-CTF 2018
13.png
  • 题目分析: 很明显根据提示信息,此题是道SQL注入的题目,可以看下源码,或者直接可以尝试index.php?id=1
XJNU-CTF 2018
14.png
XJNU-CTF 2018
15.png

可以发现,此处可能就是注入点,经确认的确存在注入。

  • 下面就是sql注入流程一顿操作,最后得到flag
XJNU-CTF 2018
16.png

解题完毕!

相关文章:

  • 2022-12-23
  • 2021-09-29
  • 2021-04-16
  • 2021-11-12
  • 2021-05-29
  • 2021-05-06
  • 2021-09-03
  • 2022-01-01
猜你喜欢
  • 2021-09-13
  • 2022-12-23
  • 2021-11-02
  • 2021-07-21
  • 2022-12-23
  • 2022-01-11
  • 2022-01-18
相关资源
相似解决方案