赞
踩
目录
6.本地管理员
进去界面是一个管理员登录界面,尝试了一下admin,passwd弱口令,发现需要本地管理员登录。
马上开启bp进行抓包模式,弱口令登录,添加一个x-forward-for字段,发现返回包里有提示(我查看源码没注意,其实网页源码里面就有),解码发现是test123,我猜测可能是账号,于是乎去爆破密码,根本没来得及看返回包的值(这里我添加的x-forward-for应该是被禁了,其实这个字段在这里是没用的,我最开始想用fakeip插件,发现无法加载,其实是加载了灾,才选择手动加该字段),爆破好一会儿发现不对劲,于是直接放包检查x-forward-for字段是否可以绕过本地管理员登录,发现并不能!马上修正错误,看到fake-ip插件可以用了,马上用fake-ip尝试,发现可以绕过。但是密码账号不对,只有一个提示test123,尝试过账号test密码123,账号密码都是test123等都不对。 //破案了,是x-forwarded-for。
最后盲猜test可能是密码,账号盲猜admin,出现flag!
拿到题一看提示是一个弱口令爆破,直接上bp,然后选择字典爆破,发现查看返回长度发现都是一样的。(新手卒)
通过查看返回包,发现一段js代码,奈何本人技术太菜,看不太懂,所以跑去找writeup了。
看了writeup才知道,这代码意思就是返回的code里面包含bugku10000这个值时,就返回wrong account or password,如果不包含就会返回flag。(感觉像废话,其实这题主要是不管是否爆破成功,返回长度都是一样的,所以导致无法知道具体密码)。大佬们的方法就是利用intruder中的grep-match过滤,通过过滤的方法找到密码。
最后过滤后发现有一项被过滤出来了,然后查看密码登录后获取flag值。
一进来显示一串php代码,意思是去接收hello变量传入的参数并赋值给a,然后将a变量用eval函数执行,并且打印出来。
构造payload:?hello=system(%27tac%20flag.php%27),system函数里执行cat无法直接读取到flag,但是本人常用tac,倒序读的,直接就读出来了,用sort读也可以读出来。
看到大神们的一些其他方法读取文件,比如用使用highlight()函数、file()函数、``反引号、show_source()函数。
一进来看到这个题,发现是个审计代码的题,提示说flag在变量里,代码里的意思是接收一个args变量,最后输出一个$args,但是中间做了一个过滤,只允许字母数字和下划线,其他不行。
转码那些都会携带特殊字符,所以到这一步我就不会做了,看了题解发现可以用一个全局变量来输出。大神的解释是:我们可以猜想$args很有可能是一个数组,应该想到的就是超全局变量$GLOBALS,它是用来存储全局变量的,全局变量的值在这个超级全局变量里面是一个键值,先当于hashmap的键值对。全局变量可以通过变量名在$GLOBALS找到相对应的值。
所以我们构造payload只需要传入一个GLOBALS就可以了。
一进来发现是个白板,首先还是查看了网页源码,发现啥东西也没有
马上开启dirsearch扫描,扫到一个登录目录,访问居然也是这个页面,感觉很奇怪。
马上转手bp,发现在返回包中回来了flag??????这也。。。
注:本文涉及的所有地址均来源于bugku靶场,仅用于个人笔记保存,请勿转载,如有错误请指教。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。