游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

学习一个PHP中用于检测危险函数的扩展Taint

  在日常的开发中,安全性一直是我们要研究的重点内容之一。而在安全性中,最主要的一点就是我们的输入数据。所有的攻击和越权,都是从一个不经意间遗留的请求漏洞发生的。当然,现在很多框架已经为我们解决了大部分的安全性问题,但百密一疏,总会有意想不到的地方忘了加过滤或者遗漏了某些验证。今天我们要学习的这个扩展就是为我们解决这种问题而诞生的。什么是Taint
  上篇文章中就得到过,我们还要介绍一个鸟哥的扩展工具,Taint这个扩展就是鸟哥大神的作品之一。不过这个扩展是不推荐安装在生产环境的,它主要的战场是在我们的测试环境中使用。它的主要功能就是如果我们使用了未经处理的GET、POST、COOKIE之类的变量,就会报出警告信息。注意,只是警告,而不是错误或者异常。一般在线上环境我们都会习惯性地关掉警告信息的报错,所以这个扩展在线上的功能有限。
  扩展的安装非常简单,下载对应的扩展然后进行普通的扩展安装即可,不需要额外的其它操作系统中组件的支持。对于这个扩展的详细信息,可以参考文末第二条链接中鸟哥文章的说明。怎么用?
  php。ini中打开扩展,然后设置taint。enable1。就正式启用这个扩展了。然后我们通过代码来测试。aGET〔a〕;filenametmp。a;outputWelcome,{a}!!!;varoutput;sqlSelectfrom。a;echoa,
  ;Warning:main()〔echo〕:Attempttoechoastringthatmightbetaintedindatawwwblogtaint1。phponline10echooutput,
  ;Warning:main()〔echo〕:Attempttoechoastringthatmightbetaintedindatawwwblogtaint1。phponline12printvar;echo
  ;Warning:main()〔print〕:Attempttoprintastringthatmightbetaintedindatawwwblogtaint1。phponline14include(filename);echo
  ;Warning:main()〔include〕:Filepathcontainsdatathatmightbetaintedindatawwwblogtaint1。phponline16mysqliquery(null,sql);echo
  ;Warning:main()〔mysqliquery〕:SQLstatementcontainsdatathatmightbetaintedindatawwwblogtaint1。phponline18
  我们使用phpS来调试这个测试文件,当访问这个测试文件并且带上a参数之后,就可以看到下面的这些操作都会报出警告信息。未经过滤的这个a,不管是拼接到字符串中,还是作为可变变量,只要是通过echo、print、include或者是mysqliquery()这些函数调用后,都会马上出现报警,提示你使用的这个数据字符串是需要进行过滤的。taint的意思是污点。mightbetainted也就是有污点内容的意思。
  大部分输出或者操作数据库之类的函数都会报出这些警告,这些内容的具体信息可以在官方文档中查询到。
  我们还可以通过一个判断函数来验证一个变量中是否包含这类未处理的数据。vardump(istainted(var));bool(false)echo
  ;vardump(istainted(output));bool(true)echo
  ;怎样不报警?
  怎样不让它报警?那当然就是对数据进行处理啦。outputWelcome,。htmlentities(a)。!!!;echooutput,
  ;sqlSelectfrom。mysqliescapestring(null,a);mysqliquery(null,sql);echo
  ;
  在输出的时候进行html编码一下,对应的就是XSS攻击的防范。在数据库操作的时候escape一下,对应的就是处理掉SQL注入的攻击。使用了这些处理函数对数据进行安全性处理之后就不会报警告信息了。
  由此可以看出,这个扩展确实是我们在日常开发调试中,特别是测试环境中的好帮手。就像前面所说的,总会有遗漏和遗忘的地方,通过这个扩展让程序来自动发现这些内容,对于我们开发的安全来说就能够有非常大的提高。检测及转换函数
  最后在Taint扩展中,还提供了两个函数用于强制进行警告和解除警告的作用,当然,也是为了我们在测试环境中的调试方便。newOutputWelcome!!!;echonewOutput,
  ;vardump(taint(newOutput));bool(true)echonewOutput,
  ;Warning:main()〔echo〕:Attempttoechoastringthatmightbetaintedindatawwwblogtaint1。phponline39newOutputWelcome{a}!!!;echonewOutput,
  ;Warning:main()〔echo〕:Attempttoechoastringthatmightbetaintedindatawwwblogtaint1。phponline42vardump(untaint(newOutput));bool(true)echonewOutput,
  ;
  taint()函数可以让一个正常的语句报出警告。而untaint()则可以让一个本身应该报警的数据不报警。总结
  同样还是非常小众的扩展,但是学习了之后发现还真的是挺有用的,而且特别适合在我们的测试环境中向大家提供一个全面检测安全质量的报警系统。就像文中一直强调的那样,对于中大型的项目开发来说,遗漏是不可避免的,即使有完善的codereview机制,但也总会有所有人都遗漏的漏洞存在。通过程序的方式来检验自然是最好不过的,大家可以多多尝试一下。
  测试代码:
  https:github。comzhangyue0503devblogblobmasterphp202102source1。学习一个PHP中用于检测危险函数的扩展Taint。php
  参考文档:
  https:www。php。netmanualzhbook。taint。php
  https:www。laruence。com201202142544。html

数字货币恒宝熄火了?1。恒宝股份有限公司(简称恒宝股份)是一家集智能卡、数字化及数字化安全、物联网、大数据、区块链于一体的上市企业,成立于1996年。恒宝股份有限公司致力于为银行、通信、防务公共服……隔离期结束孟晚舟回华为上班了10月25日,一段由华为员工拍摄的视频片段显示,孟晚舟已经回到华为上班,身穿黑色套装的孟晚舟双手挥动,在场的华为员工不断欢呼。据华为内部员工对记者表示,拍摄的地点是华为深……京东健康特医联盟成立北京商报讯(记者姚倩)10月13日,2021京东健康特医食品(FSMP)行业峰会开幕。峰会发起京东健康特医食行动,京东健康特医联盟也在会上成立。对于无法通过日常膳食补充营……御银股份,贵州茅台,苏宁易购,江特电机,恒瑞医药,隆基股份御银股份持续调整中。苏宁易购是互联网电商概念。吴通控股是物联网概念。兆易创新持续调整。零点有数是大数据概念。恒瑞医药持续调整。冰山冷热是冰雪概念。美锦能源是氢能源概念。楚江新材……超越苹果和三星,荣耀想做全球冠军?谷歌给赵明泼了一盆冷水荣耀自去年11月份从华为独立,经过半年左右重新调整基本恢复正常,高管不止一次表示下半年将迎来大爆发,要做到国内手机品牌的冠军和全球市场的第一。不过,爆料称由于没能得到Andro……加密货币闯进音乐圈,NFT流行与争议并存4月1日,TheWeeknd官宣将于4月3日发布个人首个NFT数字艺术品,包含新歌及限量艺术品。据4月6日的消息,该项目最终以49万美元的价格成交。近来,关于NFT的消息……锂盐碳酸锂供不应求锂电产业链公司业绩大幅预增新能源汽车高景气背景下,锂电池产业链上下游一片火热。1月24日晚间,多家锂电产业链公司发布2021年度业绩预增公告。由于下游客户对锂盐产品、碳酸锂产品的需求量大增,赣锋锂业(0……36氪独家聚焦新航天,赛思倍斯完成超亿元天使轮融资据悉,新航天领域创业公司赛思倍斯(CSPACE)已完成超亿元人民币天使轮融资,另外获得超过三千万元研发项目资助和折合数千万元的扶持政策支持。天使轮由专注军工领域的天问时代……藻类高效吸碳原理揭开科技日报北京1月23日电(记者李杨)据《日本经济新闻》报道,京都大学山野隆志副教授带领的研究团队发现,与吸收二氧化碳息息相关的LCIB蛋白质能够根据水中二氧化碳浓度的不同,在叶……佳能珠海公司停产,是照相机没有市场?还是被手机挤出了市场?两种情况再加人工增加。觉得是被手机挤占市场。在没手机拍照时,其实大部分人拍照也是用普通相机。现在手机拍照配置越来越好,效果媲美普通相机,甚至更好,大部分人都用手机拍……四款新机已在路上,看看你们中意哪款?来源;智能手机那点事转眼间,时间来到了八月底,对于手机厂商来说,发布新机时的难度已经变得非常大,因为需要进行创新才有用户愿意进行选择,如果只是单纯的堆硬件,那么消费者可能……5299元起!华硕无畏Pro1415系列新品笔记本电脑发布你华硕近日举行了秋季新品发布会,在发布会上带来了无畏系列华硕无畏Pro14、华硕无畏Pro15锐龙版两款笔记本华硕无畏Pro15锐龙版定位大屏游戏性能轻薄本,搭载锐龙7标压……
拥有400年历史的巨型珊瑚是大堡礁有史以来最宽的珊瑚在澳大利亚棕榈岛海岸波光粼粼的水域下,耸立着一个非常古老的珊瑚群落,它的出现甚至比邻近大陆的欧洲人定居的时间还要早。这个巨大的珊瑚群落刚刚被确认为大堡礁最宽的珊瑚,事实上……个人为人处世的最高情商说话要软,做事要硬!经典!说话如水,做事如山。但丁曾说:语言作为工具,对于我们之重要,正如骏马对骑士的重要。本琼森也曾说:语言最能暴露一个人,只要你说话,我就能了解你。千年前,董仲舒讲……六一儿童节丨打开智能投屏机,奔向快乐星球所有的大人都曾经是小孩所有的小孩也都会长大但童心不分年龄界限六一儿童节来了祝所有大朋友小朋友6。1儿童节快乐!小宏邀你参加快乐星球儿童……回音壁也能带来沉浸式的观影体验,惠威M200Bar有源音箱上作为一个数码博主随着接触到越来越多的影音设备,对于音质的追求也略有提升,最近工作室为了影音娱乐而装了投影仪,奈何空间有限随之而来的就是对于音箱体验的压缩。不能装5。1环绕音箱那……京东到家发布春节六大消费热点成都最爱打麻将,深圳最爱打桌游春节已近尾声,2月17日大年初六,京东到家数据研究院根据京东到家春节消费数据(2月4日至2月16日),发布2021春节六大消费热点,从原年人云上拜年、复工人有打工魂的亲情不减、……金华理工学院建设项目开工奠基仪式顺利举行2021年2月5日,金华人民翘首盼望已久的金华理工学院在金义新区羊尖山地块开工建设!(浙江省金华市委书记陈龙宣布开工)(市委副书记、代市长邢志宏致辞)(市委副……爱押了解到,下一代iPhone或将采用钛合金材质钛合金原材料正逐渐进入民用型行业,在诊疗、体育文化及日用品行业得到了很多的运用,十分受市场的青睐。据外媒报道,iPhone已经考虑用铝合金制作的iPad机壳,代替目前的铝……Mac技巧教你如何一键隐藏桌面所有文件新的Mac系统新增了一项叠放功能,这项功能可以让我们桌面清爽许多,但是在截图时我们想要更加干净的桌面当背景,又或者是把桌面文件隐藏起来,不想让别人看到,该怎么做呢?如果您有这方……减肥为主,偶尔解馋,9套居家DIY食谱分享给大家1。前言熟悉我的小伙伴可能知道我近一段时间在努力减肥,没办法啊,谁也不愿意被别人叫肥仔,更何况我以前还是个瘦子。我感觉近几年慢慢胖起来,跟自己疫情期间疏于锻炼、吃得太多有……热带气旋袭击印度已造成8人丧生据中央社报道,热带气旋陶特席卷印度,造成8人死亡。当地官员16日表示,西部古吉拉特邦沿岸有15万居民,他们将撤离家园,疫苗接种估计将暂停两天。据报道,遭受新冠肺炎疫情重创……从新常态办公到智慧办公,还要迈过几道关?日前,Poly博诣最新发布的《新常态办工:在工作实践、空间和文化中打造混合新常态》报告(以下简称《新常态办工》报告)中指出:‘新常态办公’是未来势在必行的协作模式。新常态办公可……居家清洁必备扫地机器人为何会成为新时代消费新宠?对于许多80后和90后学生来说,扫帚和簸箕是他们年轻时必不可少的清洁用品。如果可能的话,他们也可以用拖把。以笔者为例,他小时候住在农村,每天打扫其实就是扫灰尘,然后扫些水,根本……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网