扫描
感觉有两种特别难突破防线,一种可以搜集的信息特别特别少,端口只开了一两个;一种信息特别特别多,不知道从哪里下手==
这种貌似就是特别少的那种。 端口:80(http)、27025(unknown)
http服务
访问80端口,自动跳转/Janus.php,只有一行字,你不是admin。。 除此之外没有任何可用页面(网站地图爬行过)
unknown服务
先扫描这个端口,发现nmap扫不出什么服务,nc和浏览器得到一样的response,拒接连接。
应该是我没有用正确的方式连接造成的。
info1
把cookie从0改为1,得到的信息:
1 |
|
web分析
访问下这个页面,这么长url,难怪扫不出来.. http://192.168.1.131/LELv3FfpLrbX1S4Q2FHA1hRtIoQa38xF8dzc8O9z/home.html
源码注释:
1 |
|
于是访问下resources这个目录,找了一圈没啥有用的。
dirb http://192.168.1.131/LELv3FfpLrbX1S4Q2FHA1hRtIoQa38xF8dzc8O9z/
info2
icons一般是图标之类的资源文件,没必要去看。
1 |
|
/eris.php
初步判断是命令执行,在如图所示的exec command中可以反弹shell,但是需要用户名和密码,如果错误就会提示ACCESS_DENIED
1 |
|
当然也有可能是sql注入,尝试下特殊字符–;#’”
1 |
|
尝试sqlmap
将burp的requests文件保存为rotate.txt sqlmap -r /root/Desktop/rotate.txt –dbs 失败。 sqlmap -u “http://192.168.1.131/LELv3FfpLrbX1S4Q2FHA1hRtIoQa38xF8dzc8O9z/eris.php” –data=”username=” 放弃
文件下载
返回/icons/loki.bin,点击后下载了loki.bin
1 |
|
vi loki.bin 看到了连接拒接、连接感谢,于是联想到一开始那个unknown的端口
于是运行下
1 |
|
二进制分析
通过一样的access_denied,说不定是让我们分析这个bin文件,获得口令后,就可以执行命令。
web狗拿起键盘就是干!
ida分析,elf格式64位的程序,可以看到分支跳转密码。
首先,分析下,密码是不是明文写在程序中的。
看来不是。
静态分析了一下,但是ollydbg是windows平台的,不能运行linux可执行程序,这下就犯愁了。 kali搜索一下db (debugger),还真找到了edb,没用过。。
EDB
A Linux equivalent of the famous Olly debugger on the Windows platform.
貌似和ollydbg差不多,先找到输入密码后的跳转地址。
jnz结果不为零(或不相等)则转移。
jz=jump if zero,一般与cmp连用,用以判断两数是否相等。
在这里,绿色的是条件符合继续执行(不跳转),红色是不符(跳转)。
现在问题是,我们不知道需要输入什么密码,才能跳转到access_granted。
strings字符串分析
1 |
|
buffer.c,strcmp 猜测,是让我们用缓冲区溢出的方法得到密码。 这个程序应该是用c语言写的,strcmp是复制函数,典型的用不好就会导致溢出。
输入超长密码,显示段错误。
IDA Pro
F5反编译(ida专业版才有这个功能。。)
1 |
|
strcmp(&s1, tmp)
如果一致,就成功了。比较s1 and tmp,s1是输入的字符串tmp[i] = *((_DWORD *)&g + i);
tmp是从g取出18位
双击g这个数组,因为tmp从这里取值,18位。目的是定位,然后查看对应的hex view面板,十六进制
wp贴这儿了,最近失恋了,所以不学了。再说吧,都行,hh…