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安全】记奇安信“渗透测试”培训
发布评论