PHP代码审计入门

一:代码审计的定义

通过阅读一些程序的源码去发现潜在的漏洞,比如代码不规范,算法性能不够,代码重用性不强以及其他的缺陷等等

从安全人员的角度来看是:查找代码中是否存在安全问题,推断用户在操作这个代码对应功能的时候,能否跳出开发人员设想的场景和逻辑,去给网站数据或者服务器造成危害。

其次代码审计可以发现一些扫描器难以发现的细节,比如某一个特定的功能场景,只有当你传入特定的参数值的时候,才会触发这个漏洞,这种情况是扫描器很难发现到的。

二:入门准备

1.PHP的编程基础

2.环境搭建能力(由于我们的环境是为了让代码跑起来,并不是真正上线,所以为了方便推荐使用集成工具面板,PHP study

在这里插入图片描述

使用PHP study 跑PHP代码
1.点击其他选项菜单—>网站根目录(以www命名)
2.返回点击其他选项菜单—站点域名管理

在这里插入图片描述
3.修改网站域名,网站端口,保存设置并生成配置文件。
4.直接设置完上面域名后我们访问自己计算机下“C:\Windows\System32\drivers\etc”找到 host 文件。

在这里插入图片描述
用Notepad++或者记事本打开将127.0.0.1 a.com添加进去

在这里插入图片描述
保存设置;打开根目录把新建一个mm.php

在这里插入图片描述
在这里插入图片描述
这样我们就设置好了。

==对于PHPstudy中的数据库MySQL无法打开问题解决=

登录mysql数据库的时候出现 :

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost'(using password: NO)

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost'(using password: YES)
chuli
windows下,以上两个错误的解决方法,以及出现 “发生系统错误 5。拒绝访问”

处理方法; (ps:本人亲自测试)

(1)处理问题

1、在安装mysql的文件目录中找到配置文件my.ini ,然后右击用记事本打开
2、打开后,搜索mysqld关键字
3、找到后,在mysqld下面添加skip-grant-tables,保存退出。
3![在这里插入图片描述](https://img-blog.csdnimg.cn/20200919174152542.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTg3MTg1NQ==,size_16,color_FFFFFF,t_70#pic_center

PS:若提示不让保存时,可以将该文件剪切到桌面,更改保存后再复制到mySQL目录下
4、保存后重启PHPstudty中的MySQL

(2) 当用运行win +R cmd

输入 net start mysql 启动mysql服务的时候出, “发生系统错误 5。拒绝访问”
的时候找到命令提示符以管理员身份运行

输入net start mysql 启动mysql服务

输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。

在这里插入图片描述

最后在刚才的my.ini这个文件中,把刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql服务就可以了。

三:4.1 代码结构

常见的代码结构有两种:

1.HTML与PHP代码混编,特征就是一个url对应一个PHP页面,例如WordPress的登陆页面http://wordpress.com.test/wp-login.php

2.MVC模式

把代码拆分为Model View Controller三部分结构,模型一般是数据库操作的相关的代码,例如jsp中的javabean用来设计数据的属性和行为,提供获取属性和设置属性的get/set方法

视图通常是HTML代码和其他编程语言的混编结果,可以把一些控制器传递过来的结果,进行一定的拼接

控制器的代码一般是接受数据,做一些数据的校验,权限的判定,调用一些模型的数据库操作代码,把获得到的数据,传递给视图,然后视图把装好的HTML代码发送到客户端MVC的常见表现形式是通常有一个入口文件,这个入口一般是index.php

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值