百度抓取不到网站拼多多网上怎么开店
2026/5/18 17:10:54 网站建设 项目流程
百度抓取不到网站,拼多多网上怎么开店,不花钱网站怎么做,百度开户做网站2400一、什么是反序列化 1.1 漏洞简介 PHP反序列化漏洞也叫PHP对象注入#xff0c;是一个非常常见的漏洞#xff0c;这种类型的漏洞虽然有些难以利用#xff0c;但一旦利用成功就会造成非常危险的后果。漏洞的形成的根本原因是程序没有对用户输入的反序列化字符串进行检测…一、什么是反序列化1.1 漏洞简介PHP反序列化漏洞也叫PHP对象注入是一个非常常见的漏洞这种类型的漏洞虽然有些难以利用但一旦利用成功就会造成非常危险的后果。漏洞的形成的根本原因是程序没有对用户输入的反序列化字符串进行检测导致反序列化过程可以被恶意控制进而造成代码执行、getshell等一系列不可控的后果。反序列化漏洞并不是PHP特有也存在于Java、Python等语言之中但其原理基本相通。1.2反序列化函数在我们讲PHP反序列化的时候基本都是围绕着serialize()**unserialize()**这两个函数。那么什么是序列化呢序列化说通俗点就是把一个对象变成可以传输的字符串。举个例子不知道大家知不知道json格式这就是一种序列化有可能就是通过array序列化而来的。而反序列化就是把那串可以传输的字符串再变回对象。直接上例子便于理解我们先讲一讲比较简单的序列化我们就用序列化json来举例子吧。虽然序列化Json和我们讲PHP反序列化的漏洞没有什么关系。但是在理解序列化这个概念和之后的内容会有所帮助json_encode()json_decode()这两个函数一眼就能看出来是做什么用的吧直接上例子?php $book array(book1Harry Potter, book2MR.Bean, book3History); $json json_encode($book); echo $json; ?这边有一个book的数组‘book1’‘Harry Potter’,‘book2’‘MR.Bean’,‘Book3’‘Python Cookbook’,‘Book4’‘History’如果我们想传输这个数组怎么办呢我们就可以请json_encode()这个函数帮助我们将这个数组序列化成一串字符串所以在这里我们将数组序列化成json格式的字串的目的就是为了方便传输。我们可以看见这里json格式来保存数据主要是使用键值对的形式。假设我们写了一个class这个class里面存有一些变量。当这个class被实例化了之后在使用过程中里面的一些变量值发生了改变。以后在某些时候还会用到这个变量如果我们让这个class一直不销毁等着下一次要用它的时候再一次被调用的话浪费系统资源。当我们写一个小型的项目可能没有太大的影响但是随着项目的壮大一些小问题被放大了之后就会产生很多麻烦。这个时候PHP就和我们说你可以把这个对象序列化了存成一个字符串当你要用的时候再放他出来就好了。?php class DemoClass { public $name sms2056; public $sex man; public $age 7; } $example new DemoClass(); $example-name jone; $example-sex woman; $example-age 18; ?这里我们先创了个DemoClass里面存了点信息后来我们new了一个实例$example的时候将这个class里的一些信息给改变了。如果我们之后还要用到这个实例怎么办呢我们就先将他序列化存起来到时候用的时候再放出来就好啦。是不是很简单只要用serialize()这个函数就行了?php class DemoClass { public $name sms2056; public $sex man; public $age 7; } $example new DemoClass(); $example-name jone; $example-sex woman; $example-age 18; echo serialize($example); ?这个时候我们发现这次序列化出来的格式和我们上一个序列化json的格式有点不同呢解释一下然后如果反序列化回来的话?php class DemoClass { public $name sms2056; public $sex man; public $age 7; } $example new DemoClass(); $example-name jone; $example-sex woman; $example-age 18; $val serialize($example); $NewExample unserialize($val); echo $NewExample-age; ?二. 为什么会产生漏洞那么问题来了这么序列化一下然后反序列化为什么就能产生漏洞了呢这个时候我们就要了解一下PHP里面的魔术方法了魔法函数一般是以__开头通常会因为某些条件而触发不用我们手动调用在研究反序列化漏洞的时候碰见这几个魔法函数就要仔细研究研究了__construct()当一个对象创建时被调用 __destruct()当一个对象销毁时被调用 __toString()当一个对象被当作一个字符串使用 __sleep() 在对象在被序列化之前运行 __wakeup将在序列化之后立即被调用这些就是我们要关注的几个魔术方法了如果服务器能够接收我们反序列化过的字符串、并且未经过滤的把其中的变量直接放进这些魔术方法里面的话就容易造成很严重的漏洞了。举个别人的例子?php class A{ var $test demo; function __destruct(){ echo $this-test; } } $a $_GET[test]; $a_unser unserialize($a); ?这里我们只要构造payloadhttp://127.0.0.1/test.php?testO:1:“A”:1:{s:4:“test”;s:5:“hello”;}就能控制echo出的变量比如你能拿这个来进行反射型xss。三、 实例分析这里实战一题比较简单的ctf题目吧?php require_once(shield.php); $x new Shield(); isset($_GET[class]) $g $_GET[class]; if (!empty($g)) { $x unserialize($g); } echo $x-readfile(); ?可以看见 先是包含了shield.php 然后从中new了个新的实例出来 最后接收用户的反序列化 输出readfile()方法跟进?php //flag is in pctf.php class Shield { public $file; function __construct($filename ) { $this - file $filename; } function readfile() { if (!empty($this-file) stripos($this-file,..)FALSE stripos($this-file,/)FALSE stripos($this-file,\\)FALSE) { return file_get_contents($this-file); } } } ?这里我们可以看见只要操控$file这个参数为pctf.php就可以了这里construct函数在实例被创建的时候(也就是new Shield()的时候)执行所以不会影响我们对$file的操作直接构造序列化对象传过去 O:6:“Shield”:1:{s:4:“file”;s:8:“pctf.php”;} 就行了。四、反序列漏洞的利用思路在反序列化中,我们所能控制的数据就是对象中的各个属性值,所以在PHP的反序列化有一种漏洞利用方法叫做 “面向属性编程” ,即 POP( Property Oriented Programming)。和二进制漏洞中常用的ROP技术类似。在ROP中我们往往需要一段初始化gadgets来开始我们的整个利用过程,然后继续调用其他gadgets。在PHP反序列化漏洞利用技术POP中,对应的初始化gadgets就是__wakeup() 或者是__destruct() 方法, 在最理想的情况下能够实现漏洞利用的点就在这两个函数中,但往往我们需要从这个函数开始,逐步的跟进在这个函数中调用到的所有函数,直至找到可以利用的点为止。下面列举些在跟进其函数调用过程中需要关注一些很有价值的函数。如果在跟进程序过程中发现这些函数就要打起精神,一旦这些函数的参数我们能够控制,就有可能出现高危漏洞.五、现实中查找反序列化漏洞的方法PHP的 unserialize() 函数只能反序列化在当前程序上下文中已经被定义过的类.在传统的PHP中你需要通过使用一大串的include() 或者 require()来包含所需的类定义文件。于是后来出现了 autoloading 技术,他可以自动导入需要使用的类,再也不需要程序员不断地复制粘贴 那些include代码了。这种技术同时也方便了我们的漏洞利用.因为在我们找到一个反序列化点的时候我们所能使用的类就多了,那么实现漏洞利用的可能性也就更加高。还有一个东西要提一下,那就是Composer,这是一个php的包管理工具,同时他还能自动导入所以依赖库中定义的类。这样一来 unserialize() 函数也就能使用所有依赖库中的类了,攻击面又增大不少。1.Composer配置的依赖库存储在vendor目录下2.如果要使用Composer的自动类加载机制,只需要在php文件的开头加上require __DIR__ . /vendor/autoload.php;找PHP链的基本思路.1.在各大流行的包中搜索 __wakeup() 和 __destruct() 函数.2.追踪调用过程3.手工构造 并验证 POP 链4.开发一个应用使用该库和自动加载机制,来测试exploit.构造exploit的思路1.寻找可能存在漏洞的应用2.在他所使用的库中寻找 POP gadgets3.在虚拟机中安装这些库,将找到的POP链对象序列化,在反序列化测试payload4.将序列化之后的payload发送到有漏洞web应用中进行测试.六、参考其它不错的PHP反序列化文章链接1、最通俗易懂的PHP反序列化原理分析https://www.freebuf.com/articles/web/167721.html2、由Typecho 深入理解PHP反序列化漏洞https://www.freebuf.com/column/161798.html3、Typecho install.php 反序列化导致任意代码执行https://p0sec.net/index.php/archives/114/4、HP反序列化漏洞成因及漏洞挖掘技巧与案例https://www.anquanke.com/post/id/84922如果你能一字不落看到这说明啥你比那600份简历里99%的“混子”有潜力和决心得多。还焦虑啥去卷那些只会背面试题的网络安全的知识多而杂怎么科学合理安排下面给大家总结了一套适用于网安零基础的学习路线应届生和转行人员都适用学完保底6k就算你底子差如果能趁着网安良好的发展势头不断学习日后跳槽大厂、拿到百万年薪也不是不可能初级黑客1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗想要入坑黑客网络安全的朋友给大家准备了一份282G全网最全的网络安全资料包免费领取7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完·用Python编写漏洞的exp,然后写一个简单的网络爬虫·PHP基本语法学习并书写一个简单的博客系统熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选)·了解Bootstrap的布局或者CSS。8、高级黑客这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。网络安全工程师企业级学习路线很多小伙伴想要一窥网络安全整个体系这里我分享一份打磨了4年已经成功修改到4.0版本的**《平均薪资40w的网络安全工程师学习路线图》**对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。如果你想要入坑黑客网络安全工程师这份282G全网最全的网络安全资料包网络安全大礼包《黑客网络安全入门进阶学习资源包》免费分享​​​​​​学习资料工具包压箱底的好资料全面地介绍网络安全的基础理论包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等将基础理论和主流工具的应用实践紧密结合有利于读者理解各种主流工具背后的实现机制。​​​​​​网络安全源码合集工具包​​​​视频教程​​​​视频配套资料国内外网安书籍、文档工具​​​​​ 因篇幅有限仅展示部分资料需要点击下方链接即可前往获取黑客/网安大礼包CSDN大礼包《黑客网络安全入门进阶学习资源包》免费分享好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!特别声明此教程为纯技术分享本文的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本书的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失。本文转自网络如有侵权请联系删除。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询