当前位置:   article > 正文

BUGKU-CTF入门笔记

bugku

目录

6.本地管理员

7.bp

8.eval

9.变量1

10.头等舱


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!

7.bp

拿到题一看提示是一个弱口令爆破,直接上bp,然后选择字典爆破,发现查看返回长度发现都是一样的。(新手卒)

通过查看返回包,发现一段js代码,奈何本人技术太菜,看不太懂,所以跑去找writeup了。

看了writeup才知道,这代码意思就是返回的code里面包含bugku10000这个值时,就返回wrong account or password,如果不包含就会返回flag。(感觉像废话,其实这题主要是不管是否爆破成功,返回长度都是一样的,所以导致无法知道具体密码)。大佬们的方法就是利用intruder中的grep-match过滤,通过过滤的方法找到密码。

最后过滤后发现有一项被过滤出来了,然后查看密码登录后获取flag值。

8.eval

一进来显示一串php代码,意思是去接收hello变量传入的参数并赋值给a,然后将a变量用eval函数执行,并且打印出来。

构造payload:?hello=system(%27tac%20flag.php%27),system函数里执行cat无法直接读取到flag,但是本人常用tac,倒序读的,直接就读出来了,用sort读也可以读出来。

看到大神们的一些其他方法读取文件,比如用使用highlight()函数、file()函数、``反引号、show_source()函数。

9.变量1

一进来看到这个题,发现是个审计代码的题,提示说flag在变量里,代码里的意思是接收一个args变量,最后输出一个$args,但是中间做了一个过滤,只允许字母数字和下划线,其他不行。

转码那些都会携带特殊字符,所以到这一步我就不会做了,看了题解发现可以用一个全局变量来输出。大神的解释是:我们可以猜想$args很有可能是一个数组,应该想到的就是超全局变量$GLOBALS,它是用来存储全局变量的,全局变量的值在这个超级全局变量里面是一个键值,先当于hashmap的键值对。全局变量可以通过变量名在$GLOBALS找到相对应的值。

所以我们构造payload只需要传入一个GLOBALS就可以了。

10.头等舱

一进来发现是个白板,首先还是查看了网页源码,发现啥东西也没有

马上开启dirsearch扫描,扫到一个登录目录,访问居然也是这个页面,感觉很奇怪。

马上转手bp,发现在返回包中回来了flag??????这也。。。

 注:本文涉及的所有地址均来源于bugku靶场,仅用于个人笔记保存,请勿转载,如有错误请指教。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/208646
推荐阅读
相关标签
  

闽ICP备14008679号