0x00前言 这份笔记记录了2020.7在奇安信培训时的渗透测试,说是渗透测试,是实在找不到太合适的名字了,因为糅杂了很多ctf的东西,所以单纯按照渗透的想法做是不行的。 所有的测试需要的端口都要自己扫描出来,大致在2014~2030上,但有些被人玩坏了,以后找时间补上,每道题都有5个flag,没找全就是能力不够。 对于端口扫描,直接上御剑干就完了,(顺便一提,御剑这东西扫描可以开到100线程,对本机没太大影响,但服务器不一定能抗得住,所以客户现场不给授权,坚决不干活)

0x01开始

1. 2014

我们在源码中查不到信息,并且御剑也扫不出来东西,所以只能抓包找结果 这里要好好找才能看到,所以这题很ctf,然后跟进这条线索,能得到第一个flag

然后查看源码,得到第二个信息 继续跟进,他说只有本机才能登陆,那就是提示x-forwarded-for:127.0.0.1了

注意改包的时候,不要把XFF头放在最后面,要放在源请求包中间位置,不知道为啥,反正那样不行,我以后会放在Host后面,以下是抓包结果 能得到第二个flag,并且提示system_skkkwwwwqad/index.php,跟进

发现网页URL中好像有?id=1这样能注入的东西,扔进sqlmap里试试 整挺好,直接有数据库,看着news比较可疑,跟进 dump数据库信息,得到第三个flag,并且给出了信息点tool_sssiikopw.php 回溯到网页report1那里,发现是secret,看不了,猜测是php伪协议

path=php://filter/convert.base64-encode/resource=flag.php
结果不对。。。到这一步怎么都不对,很气人,还是题做少了,要不应该能大胆怀疑不是这个flag.php了。 我们用御剑扫xxx:2014/system_skkkwwwwqad/ 这个路径,看他还藏了什么东西,得到还有robots.txt

看一下robots.txt藏了什么东西,得到flag_adwqoeuiouerr.php

php伪协议读一下
path=php://filter/convert.base64-encode/resource=flag_adwqoeuiouerr.php

解码base64得到第四个flag 还给了一个看似一句话木马的东西,好像是想给我们一个一句话的密码,但我们不知道这个木马叫什么,在哪也不知道。 这时候我们想到之前看robots.txt的时候,还有这个f lag_adwqoeuiouerr.php没看,很可能就是一句话。

连一下,OK 这里面应该还能找到一个flag,不找了,可能需要后续提权 2.2015

这道题也不错,首先扔到御剑里扫,发现images,把mt2复制到本地 winhex打开,得到flag2 查看login,有账号密码验证,查看源码没有东西,爆破也就那样,没结果

我们注意到URL里的page=login,有点文件包含的味道,并且看源码中,page等于什么就跳转到什么,那就文件包含试试 payload:
?page=php://filter/convert.base64-encode/resource=mysql
(这里的m ysql.php我的御剑没有扫出来,旁边大佬的扫出来告诉我的)

解base64后得到数据库的账号密码 然后比较坑的就是数据库的端口,老师直接说的2016,(好像是做的端口映射,直接扫扫不到) 连进去之后得到flag1 然后在users表中得到账号密码 然后把密码解base64,再登录上login

登陆之后可以上传,先传个php一句话,提示只允许上传图片

然后尝试图片马,这里不能抓包改后缀,那应该是传上之后没有解析,虽然菜刀也能连上,但是用处不大 回溯到数据库,我们有数据库写权限,所以利用mysql写一句话木马 然后访问一句话,xise连上之后拿到flag3 之后传上大马,反弹shell (尝试提权未成功) 3.2017

我个人还是挺怕这种直接就是登录界面的,给人一种被逼着爆破的感觉,很不好,先查看源码, base64解出来得到第一个flag 然后尝试万能密码,还是比较好的这道题,顺手把网上万能密码的文章抄下来了,以备后用
1' or 1=1#
很舒服得到第二个flag go on 进去之后让给一个IP地址 然后我们用管道符 | 命令执行尝试
|ls
得到第二个flag cat 取一下
|cat flllllllllllllllag.txt
得到第三个flag,并给出提示信息/123321,看起来这个文件夹里有东西,我们找找
|ls ../
看到123321之后跟进
|ls ../123321
|cat ../123321/flag.txt
拿到第四个flag,然后别忘了用御剑扫一下

搜索flag字段,找到第五个flag 4.2018

御剑扫一下

跟进robots.txt

查看flag1

还有一个mail的邮箱登录界面,我们暂时也没账号密码,爆破也不成功

然后跟进usage,整出个这玩意,我之前没见过,但看起来好像是某种后台记录、后台管理之类的东西 还是很有用的,因为发现了之前御剑没扫出来的xss.php 跟进这个xss.php,是可以用反射型xss的(dom型和存储型没试)

然后查看源码发现flag2 第三个flag就很坑了,这纯看经验吧,我们看到这里的链接是?page=blog,并且我们访问blog,page就等于blog,好像没什么问题

然后这里访问contact,page就等于contact,有可能这个page存在文件包含,这个只能说经验了

然后用php://filter不行,(好像哪里写过php:filter很靠谱,打脸了),其实php伪协议使用是有条件的,需要allow_url_fopen=on,不需要开启 allow_url_include, 详细的文件包含看文件包含.pdf,师傅总结的很好。 所以这道 题需要用%00截断,然后得到flag3

在朝后也挺看经验,我们在回顾blog的界面,我们看到第一个blog的id=2,第二个blog的id=5

也就是说给一个id就去查询这个id,所以猜测是sql注入,毕竟其他的点也找不到突破口了,sqlmap跑一下, 这 里需要提醒,sqlmap -u " XXX" --dbs有时候是出不来的,需要--banner --dbs,--banner是获取数据库管理系统对的标识(我也不知道啥意思,但以后都加着吧),另外不加""的话也会出问题,不知道为什么(之前一直是不加分号的)
sqlmap.py -u "http://xxx:2018/index.html?page=blog&title=Blog&id=2" --banner --dbs
得到数据库 查看mitian的表
sqlmap.py -u "http://xxx:2018/index.html?page=blog&title=Blog&id=2" -D mitian --tables
发现flag4 回去看user表 得到账号密码,但是这个密码应该是MD5之后的,解一下试试 这样有账号密码了我们回头登录mail,登陆之后邮件不少,但好像都没用。。。

然后ssh连上(2042端口是老师说的,好像是做的端口映射,我们扫不出来,有点迷)

拿到flag5 5.2019

拿到这道题还是先扔到御剑里跑一下,毕竟源码没东西,抓包没东西,只能这样了,别给老子提服务器撑不撑得住,造就完了

robots.txt暴露了,看一下

暴露了/dev,看一下

这里需要密码,然后上传文件,我们先随便写个一句话,随便写个一句话传一下,看他怎么说,给的提示是非法文件 那我们尝试传个图片马试试,看看是不是黑名单 他提示密码错误,说明是黑名单,但是需要密码,所以我们有两个思路,一个是传.htaccess直接去解析一个图片马,另一个是查找黑名单中是否有未过滤完全的,但是不论哪种思路,都需要密码才能穿上,我们应该先找密码。 我们看到还有一个忘记密码的选项,点开之后,告诉我们请先。。。 我们看一下源码,他提示说看文件名,那么就是127,应该是在忘记密码哪里抓包,加上XFF头,应该就行 试试呗。 给了flag1和一段ook加密的东西 解出来就是密码:d1c8ff84e 我们传个.htaccess (乱七八糟的图片木马和D盘的web里都有,但注意我那个里面只解析了jpg的)

我们发现这个上传成功了,所以接着穿一个图片马,因为我们知道他是限制了后缀名,所以试试。

发现也曾是成功的,菜刀连他
http://xxx:2019/dev/upload/password.jpg
这里面应该也会有flag,应该有两三个,但有的需要权限,后续提权再补上 我们再多提一句,上面说到的第二个思路就是看黑名单没过滤全,将检验pht后缀没被过滤,可以上传并解析执行。 6.2020 这道题是一个cms系统,我们上网查一下有代码执行的漏洞,但不知道版本,先没管

扔到御剑里扫出来暴露了robots.txt

看一下

跟进 xyhai.php,进入后台 从网上搜到默认账号密码是xycms/123456,登录进后台,可以得到flag1

做到这就很生气了,因为在系统设置的网站设置中有上传配置,我们可以看到这是允许添加上传文件类型的,所以可以穿上一句话,并且我之前也传上去了,但是现在说路径不存在,这绝对是被人改东西了 我查了一下这个路径是存在的,所以路径没有问题,可能是限制了上传路径,我打算换个路径传,但也被禁了,技术比我好,顺便找到了第二个flag, 写一下后续思路,方便回头补上,(如果没记错的话)传上一句话之后,菜刀连上,传大马,反弹shell,然后提权 (注意: 以后能传上一句话之后一定要传大马,然后反弹shell,再提权,这是必然的后续步骤) 提权后到root路径下有一个flag5,然后在另个地方有一个文件放着数据库信息,有账号密码和flag3,连上数据库之后还有一个flag4。 (总之这道题很贴近渗透流程,后续一定要补上) 7.2021

查看源码和抓包都没有结果后,扔到御剑里扫,发现有robots.txt

打开之后有

得到一个flag

base64解码一下 然后在admin_area中发现了

查看源码,得到登录的账号密码和一串十六进制数

先解一下16进制数,直接拿到flag2 回到登录页面登录进去,得到一个上传点,这是一个任意文件上传,可以直接传马 但是传上之后没有给上传路径,但是robots.txt中给出了upload,所以查看一下,应该又被玩坏了,但这道题是唯一一个当时提权成功了的,没法复现了,好可惜。 8.2022

上来还是给的登录界面,这道题没有暴露robots.txt,源码也没看到信息,好像只能爆破了。。。这就很气,又要看脸了。 然后我的字典有一次不负众望的没跑出来(应该就是要爆破的,最后账号密码是admin/admin888) 登录后是这样,看到有flag1

查看源码得到flag1

然后找他的上传,传个一句话试试,然后被拦截说后缀名不对,而且是个白名单啊,那就直接图片马改包吧 (多写一句,传图片马改包的方法只能绕过前端的检测,后端的不行,某整程度上还是.htaccess靠谱点,如果不是白名单的话,但如果把.htaccess禁了的话,还是很难办,要么找黑名单没过滤的,这个就看脸了,或者就找别的漏洞比如命令执行或者远程文件包含吧) 总之这道题的图片马改包还是可以的,并且给出了上传路径,貌似这道题没被破坏,感觉自己在做抢救性挖掘,还给出了flag3

先看一下这个一句话,发现没有权限看

但是文件应该是传上了,可以菜刀连一下试试 能连上,但是权限太低了,啥也干不了,whoami都不行,后续可以提权,但是考虑到登陆进去之后还有一个包含,我们先去看看这个文件包含 在file3.php中有flag4

那我们试一试文件包含,整挺好,直接拿到/etc/passwd

我们回头找找flag4,注意我们的flag4是在file3.php中的,我们需要用php伪协议读取文件内容 (对于文件包含看文件的问题,还是php伪协议最靠谱) payload:
?page=php://filter/convert.base64-encode/resource=phpfile3.php
base64解码一下,得到flag4 然后我们在刚刚传上一句话的时候,提示有flag3,我们也用文件包含的方法拿出来,payload:
?page=php://filter/convert.base64-encode/resource=../upload.php
base64解码出来,找到flag3 别急,这时候我偶然看到浏览器的cookie中有flag2,对于这个flag2我记得好几道题都是放在这个cookie里的,我不知道是不是没失效,但已经拿到三个flag了,好像这个flag2放在这里好像也没什么问题。。。

知道这个之后,我们重新回顾上传的一句话,我们知道,连接一句话的时候可以添加登录的cookie信息,我们尝试把登陆后的cookie写进去再连接。 (但是填上cookie也没有用,大佬告诉我就是这么做的,不会了。。。) 9.2023 越朝后越难,但题目质量也越高,所以我就更做不出来

你看这题的cookie也有flag2,所以就很迷。。。 源码有个16进制数,转字符之后再接base64 得到如下 得到flag1

之后线索就很猥琐了,在标题处是/Challenges 所以跟进/Challenges,这个不是常用路径,所以御剑扫不出来

又是账号密码,实在找不到信息,做不出来了。。。 ▼往期精彩回顾▼tomcat PUT方法任意写入文件漏洞【系统分享】anhunsec靶场练习系统【二进制安全】某APT样本分析END

更多推荐

奇安信天擎卸载密码_【web安全】记奇安信“渗透测试”培训