Me and mygirfriend
信息收集
打开我们的Kali,查看kali的ip地址
由于是靶机环境,目标主机与本地在同一网段,使用nmap进行网段扫描,探测存活主机,由结果判断
使用nmap对目标主机进行扫描,显示开放了22端口和80端口,分别是ssh和http服务
我们首先使用浏览器访问目标主机的http服务
查看网页源代码,提示我们可以通过x-forwarded-for伪装成本地访问
X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中。
成功打入内部!再打开我们的系统终端,利用nekto工具扫描目录,看下有没有可以利用的文件信息
因为对面的系统是基于linux的ubuntu,所以比较好弄,windows的高级操作完全不会来着
输入:nikto -h 192.168.46.159 -o \Desktop\result.html -F htm
打开result.html,信息如下
翻一下,看到当前路径下有robots.txt、heyhoo.txt两个文件,以及config和misc两个子路径
在浏览器里直接访问heyhoo.txt,看到作者留下的信息
robots文档则是直接指向了heyhoo.txt,因此根据作者在heyhoo.txt的提示,对shell下手
在页面里随便逛逛点点,发现可以注册新的账户
登录之后注意看网址栏:
&user_id=12,登录后看到这样的语句,可以大致判断出两种可能性
1、该网站的登录系统利用了mysql数据库,可以用一种叫“sql注入”的方法来获取该网站所有账户
2、该网站构造上存在水平越权的逻辑漏洞,可以直接修改user_id的方法来获取其他用户信息
首先看一下mysql,sql注入的原理:如果一个网站和数据库相连,则可以在网址栏(输入页面浏览信息)中输入数据库语法来绕过前端页面进行数据暴露等操作
验证该现象的方法:既然后面的字符包含数据库语法,那么对其进行扰乱,看一下网页背后的数据库是否会报错
现在再试一下水平越权,先在登录状态下打开profile页面,然后更改user_id,回车,这时可以看到profile页面中的信息改变了!这里存在水平越权的逻辑漏洞!可惜password一栏中密码显示是隐藏的,老ctf水题了,按下f12,将password那里的type值删掉,破坏原有的前端渲染,就可以看到当前这个账号的密码
直接ssh进去
基于php上的sudo提权
CMD="/bin/sh"
sudo php -r "system('$CMD');"
发现root下游flag2.txt
Home下的Alice输入ls -la下的.my_secret下的flag1.txt