BUGKU-CTF入门笔记

目录

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靶场,仅用于个人笔记保存,请勿转载,如有错误请指教。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值