当前位置:   article > 正文

seay代码审计工具_代码审计基础(一)

seay源码是用什么编译软件编译的

环境准备;PHPstudy

编译器准备;PHPstorm,notepad++

工具准备;seay源代码审计系统,rips,xdebug,forify SCY

漏洞辅助验证工具;burpsuite,火狐浏览器,加解密转换工具,SQL执行监控工具

后台回复0002

审计基础MVC架构

mvc是一种使用MVC(model view controller 模型-视图-控制器),设计创建web应用程序的模式。

MVC模式同时提供了对HTML,CSS和JavaScript的完全控制。

model(模型)是应用程序中用于处理应用程序数据逻辑的部分,表示应用程序核心(比如数据库记录列表),通常模型对象负责在数据库中存取数据。

view(视图)是应用程序中处理数据显示的部分。显示数据(数据库记录),通常视图是一句模型数据创建的

controller(控制器)是应用程序中处理用户交互的部分,处理输入(写入数据库记录),通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

使用mvc的目的是使模型和视图实现代码分离。从而使有一数据有不同的表现形式他强制性的使应用程序的输入,处理,输出分开处理,各有各的模块。如下关系图

mvc关系

d49c42faf899931c06c517ecaefb68a1.png

PHP框架了解。

框架其实就是可重用代码的集合,框架的代码是框架架构的代码

常见的如下

zendframwork: (ZF)Yii
CakePHPSymfony
CodeIgniter(CI)CanPHP
Laravel SlimFramework
ThinkPHPPHPUnit
KYPHPinitPHP
SpeedPHP

PHP语法

大小写敏感,大小写的变量如A与a所表达的意思是不同的

95a5a6557f153aefb20cd41db03af614.png

这里指小写的foo不等同与大写的FOO

运算符

01d562f191559882b947dc6836275b58.png

空值得表达的方式

aefcb136542e65043c55ebe488e58dc9.pngfoo =     ;#这样会被理解为一个空的值

foo = None;#这样也会被理解为一个空的值

foo = “None”;#这样会被理解成一个字符串

安全模式(5.2.x的版本)

safe_mode模式

5d1d0fbfe16473b2138c4c4e93847c1a.png

代码保存于test.php

<?php $cmd = $_GET['cmd'];system($cmd)?>

从get提交上来保存到cmd然后用system去执行。如下

构造

http://127.0.0.1/test.php?cmd=dir

5dd7b38a8a54f39c87517b9cffee679f.png

这是在safe_mode关闭的情况下

7073ba78c1bc57fa379c92b96ce59dff.png

78cd65603f5cf4851e2c66a064665d4e.png

刷新被屏蔽了,这个特性在php5.4.0被移除。

限制环境变量存取。

safe_mode_allowed_env_vars = string

指定PHP程序可以改变的环境变量的前缀,当这个值为空时,那么PHP可以改变任何环境变量

禁用函数与禁用类

5fe79b870ce3f1232e2120a91ceac417.png

类如禁用system函数如下

84136312c6a31b01dd16746886d1b9f6.png

同时把safe_mode设置成off

a909fda6f35bc0175e07d4f0f9b8eadf.png

com组件

com.allow _dcom =false

php 设置在安全模式下(safe_mode),仍然允许攻击者使用COM函数来创建系统组件,来执行任意命令,如果version<5.4.5就不需要

50c1dad44ca8194df062223db9a5050d.png

改成false

com.allow_dcom = false

全局变量注册开关。

register_globals = On
<?php if(isset($_ESSION['username'])){    echo "do evering";}else{    echo "您尚未登陆";}?>

简单的去写这个

register_globals = off

b0dddc84c7548052f8ae3fa3d62663c1.png

打开

register_globals = on

b87a3486e8e9890915850414d31189d4.png

这样相当于拥有了username的权限,所以要把这个全局内容关闭

官方配置文档https://www.php.net/manual/zh/ini.list.php

c479649a5dfa679dc057c05a2b8415e7.png

欢迎打赏或者多多点击再看哦

顺便,我建立了个交流群,欢迎骚扰,添加运营号,让运行拉你。

da50616ec782ace688e2ce59922d42af.png

后台回复0003获取资源

f5bd90cf9b3fe8849a00013f949100a4.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/257802
推荐阅读
相关标签
  

闽ICP备14008679号