前言 大部分的MVC框架,访问的控制器大部分是由外部参数来决定的,那么本篇文章所通读的MVC框架与之前的一系列MVC框架不太一样,它的路由是由程序本身的路由表来决定的. 源码下载 https://www.jb51.net/codes/673736.html 环境安装 访问http://127.0.0.1/install/setup.php 配置好/config.php 完成安装 MVC的了解 访问流程 之前总是说web应用程序,并没有特别理解为什么它叫应用程序?程序的逻辑不是从头运行到尾嘛,但这…
挖掘经验:遇到的比较多的就是出现在cookie验证上面,通常是没有使用session来认证,直接将用户信息保存在cookie中      Session固定攻击:黑客固定住目标用户的session id,所以目标用户使用的session可以由攻击者指定 Session劫持攻击:黑客劫持目标用户的session id俩获取网站服务器上未经许可的存取信息,特别是窃取目标用户的cookie数据,来取得网站的认可 代码:espcms任意用户登录分析在文件espcms/upload/memebermain…
序列化与反序列化:序列化:把对象转换为字节序列的过程称为对象的序列化反序列化:把字节序列恢复为对象的过程称为对象的反序列化 漏洞成因:反序列化对象中存在魔术方法,而且魔术方法中的代码可以被控制,漏洞根据不同的代码可以导致各种攻击,如代码注入,sql注入,目录遍历等等 序列化的不同结果public:private:protect: 漏洞本质:unserialize函数的变量可控,php文件中存在可利用的类,类中有魔术方法 魔术方法:_construc(),_destruct()_call(),_c…
文件上传漏洞是指用户上传了一个可执行的脚步文件,并通过此脚本文件获得了执行服务器端命令的能力,这种攻击方式是最直接和有效的,文件上传本身是没问题的,有问题的是文件上传后,服务器怎么处理,解释文件,通过服务器的处理逻辑做的不够安全,则会导致严重后果 漏洞条件:文件可上传——知道文件上传路径——上传文件可以被访问——上传文件可以被执行 文件上传可控点:Content-Length,即上传内容大小MAX_FILE-SIZE,即上传内容的最大长度filename,即上传文件名Content-Type,即…
跨站请求伪造,也有人写出xsrf,黑客伪造用户的http请求,然后将http请求发送给存在csrf的网站,网站执行了伪造的http请求,就引发了跨站请求伪造 漏洞危害:攻击者盗用了你的身份信息,以你的名义发送恶意请求,如发送邮件,消息,盗取你的账号,甚至购买物品,虚拟货币转账等 漏洞本质:攻击者获取到重要参数,成功构造一个伪造请求,如http://www.xx.xx/xx.php?xx=xx&&id=1 挖掘思路:管理后台,会员中心,添加用户等,被引用的核心文件里面有没有验证token和r…
跨站脚本攻击(Cross Site Scripting)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的html代码,从而盗取用户资料,利用用户身份进行某种动作或者对访问者进行侵害的一中攻击方式,为了与层叠样式表的缩写css区分开,跨站脚本通常简写为xss 危害:盗取用户cookie蠕虫查看网页浏览信息跳转钓鱼网页 挖掘思路:没有过滤的参数,传入到输出函数中,漏洞思路:搜索内容 发表文章 留言 评论回复 资料设置等 漏洞类型反射型  非持久型,通过get和pos…
命令执行漏洞:通过易受攻击的应用程序在主机操作系统上执行任意命令,用户提供的数据(表单,cookie,http头等)未过滤 挖掘思路:用户能够控制函数输入,存在可执行代码的危险函数 命令执行和代码执行的区别:命令执行 执行效果不受限于语言,语法本身,不受命令本身限制代码执行 执行效果完全受限语言本身 命令执行类型:代码层过滤不严,系统的漏洞造成命令注入,调用的第三方组件存在代码执行漏洞 常见危险函数system函数string system(string $command[,int &$retu…
代码执行漏洞代码执行漏洞是指应用程序本身过滤不严,用户可以通过请求将代码注入到应用中执行,当应用在调用一些能将字符串转化成代码的函数(如php中的eval)时,没有考虑到用户是否能控制这个字符串,造成代码注入. 挖掘思路:存在可执行代码的危险函数,用户能控制函数的输入. 常见危险函数 eval和assert函数:eval(),assret()将输入的字符串参数作为PHP程序代码来执行代码1:<?phpif(isset($_GET['cmd'])){   $cmd = $_GET['cmd']; …
SQL注入攻击(sql injection)被广泛用于非法获取网站控制权,在设计程序时,忽略或过度任性用户的输入,从而使数据库受到攻击,可能导致数据被窃取,更改,删除以及导致服务器被嵌入后门程序等 sql注入的条件用户输入数据可控,源程序要执行代码,拼接了用户输入的数据 注入两大类型(不同数据库的比较方式不同) 数字型注入:当输入的参数为整数时,可认为是数字型注入(如 id 年龄,页码等都可以认为是数字型注入,并且不需要单引号来闭合)$result = "select * freo admin…
一.前言 php代码审计如字面意思,对php源代码进行审查,理解代码的逻辑,发现其中的安全漏洞.如审计代码中是否存在sql注入,则检查代码中sql语句到数据库的传输 和调用过程. 入门php代码审计实际并无什么门槛要求,只需要理解基础的php语法规则,以及理解各种类型漏洞的出现原因则可以开始尝试审计php源代码.通常的漏洞演示中sql语句会直接传入php自带的函数传入数据库执行,但在实际的软件项目中,通常以面向对象的思想进行编程,则会涉及各种形式的封装,调用,以及不同风格的框架,在这个条件下,只…