Who Are You(cookie)

who are you(cookie)

who are you(cookie)

访问题目地址,http://106.75.72.168:2222/

Sorry. You have no permissions.

没有访问权限?干脆扫一下端口,这是什么服务?

2222/tcp open http Apache httpd 2.4.7 ((Ubuntu))

扫一下目录

+ http://106.75.72.168:2222/index.php (CODE:200|SIZE:112)

+ http://106.75.72.168:2222/server-status (CODE:403|SIZE:295)                 

==> DIRECTORY: http://106.75.72.168:2222/uploads/                             

注意index.php,本来我以为php脚本里面写了过滤规则,只有特定的ip才能访问。但是客户端是看不到php文件的。。所以如果题目是这样那就没法做了。

在 Internet 中,Cookie 实际上是指小文本数据,是由 Web 服务器创建的,将信息存储在用户计算机上的文件。

role=Zjo1OiJ0aHJmZyI7; PHPSESSID=ao2t75c24bggl37ammfp7rjt50

role是身份的意思,base64解码一下,得到f:5:"thrfg";

找个在线rot13-凯撒解密,得到s:5:"guest";

guest换成admin,再凯撒编码,得到f:5:"nqzva";

再base64编码,得到Zjo1OiJucXp2YSI7


方法二,写个脚本。。



访问这个uploads的路径,显示是空白???

因为题目提示会接收filename、data参数,经过尝试,filename参数任意post提交,会提示文件路径,(每次都会改变)。我提交的data参数的值会显示在该文件路径网页上。

暗示我们可以写入一句话木马。但是有正则表达式过滤。

于是通过data[]=一句话木马,即可绕过。


运行该脚本即可获得flag

总结:

1.cookies与session的区别。

session是一个会话,通过服务端和客户端的交互,来识别不同用户。通过服务端给不同用户标识不同session id来确定具体的用户。

cookies是存在用户浏览器上的小文本文件,session具体是通过cookies来实现的。

2.目标采用preg_match来进行正则匹配,可以考虑用数组来绕过。

因为正则只能匹配字符串类型。