PHP代码审计1-审计环境与调试函数
审计环境与调试函数
审计环境
测试环境
常用集成环境:phpStudy、WampServer
#不同的操作系统下,漏洞测试的结果也可能不一样
PHP编写工具
EditPlu
代码审计工具
代码审计平台
DVWA(注:windows下,需要将配置文件中的password改为空)
ZVulDrill (注:需要重新导入数据库文件)
漏洞验证辅助工具
Burp Suite
浏览器扩展(Hack Bar、Firebug、Modify)
正则调试工具
SQL执行监控工具
常用的调试函数
echo() 输出函数,一般用来输出变量值,或者你不确定程序执行到哪个分支时使用 等同于print()
print_r() 用来输出数组和对象数据,一般在查看接口返回值,或某些不太确定变量的时候使用。如果想捕捉 print_r() 的输出,可使用 return
参数
var_dump() 打印变量相关内容,包括数据类型
var_export() 输出或返回变量的字符串表示,可直接赋值使用 #注:其对于资源型的变量会输出NULL
debug_zval_dump 输出结果跟var_dump类似,可记录一个变量被引用了多少次【php的copy on write机制的一个重要特点】
exit() 退出函数,终止页面运行
双引号会解析变量和特殊字符(所以表达文本时,需转义)
单引号不解析变量,其内的所有字符只是文本
PHP代码审计1-审计环境与调试函数的更多相关文章
- 突破瓶颈,对比学习:Eclipse开发环境与VS开发环境的调试对比
曾经看了不少Java和Android的相关知识,不过光看不练易失忆,所以,还是写点文字,除了加强下记忆,也证明我曾经学过~~~ 突破瓶颈,对比学习: 学习一门语言,开发环境很重,对于VS的方形线条开发 ...
- 2019-11-29-VisualStudio-使用多个环境进行调试
title author date CreateTime categories VisualStudio 使用多个环境进行调试 lindexi 2019-11-29 08:58:49 +0800 20 ...
- 2018-9-30-VisualStudio-使用多个环境进行调试
title author date CreateTime categories VisualStudio 使用多个环境进行调试 lindexi 2018-09-30 18:39:26 +0800 20 ...
- VisualStudio 使用多个环境进行调试
在 VisualStudio 2017 支持使用 launchSettings.json 文件定义多个不同的环境进行调试 先给大家一张图看一下效果 可以看到原来的是启动的按钮,现在被我修改为 lind ...
- dump调试函数
//dump调试函数if (!function_exists('dump')) { /* * dump调试函数 */ function dump($var) { $traces = debug_bac ...
- Spark远程调试函数
Spark远程调试函数 1.sendInfo 该函数用于分布式程序的调试,非常方便,在spark的rdd操作中嵌入sendInfo,启动nc服务器后,可以收集到所有需要的运行时信息,该函数可以捕获ho ...
- Python帮助函数调试函数 用于获取对象的属性及属性值
Python帮助函数调试函数 用于获取对象的属性及属性值 刚接触Python,上篇 <Python入门>第一个Python Web程序--简单的Web服务器 中调试非常不方便,不知道对象详 ...
- 【Linux开发】【Qt开发】配置tslibs触摸屏库环境设置调试对应的设备挂载点
[Linux开发][Qt开发]配置tslibs触摸屏库环境设置调试对应的设备挂载点 标签(空格分隔): [Linux开发] [Qt开发] 比如: cat /dev/input/mice cat /de ...
- PHP 通用格式化调试函数
/** * 打印调试函数 * @param $content * @param $is_die */function pre($content, $is_die = true){ header('Co ...
随机推荐
- selenium 移动端测试
selenium 可以进行移动测试的.Anroid ,IOS .进行移动端测试,需要相应的SDK ,apk.其中anriod 是selenium 支持有2中选择,remote server 和 tes ...
- 通过HTTP响应头让浏览器自动刷新
以前如果需要让网页过几秒自动刷新一次,我都会在页面通过JS调用setTimeout来做,最近发现原来服务器通过添加响应头部信息来提示浏览器需要在多少时间之后重新加载页面. 代码很简单: respons ...
- ModuleNotFoundError: No module named 'yaml'
ModuleNotFoundError: No module named 'yaml' 需要安装 pyyaml 包
- 【转载】#335 - Accessing a Derived Class Using a Base Class Variable
You can use a variable whose type is a base class to reference instances of a derived class. However ...
- mysql轮廓总结
架构=数据类型.索引.分片.主从复制原理.数据备份 学习软件,都应该先从架构入手,每一层掌握就行.mysql难吗?从其架构层开始,就不难啦. 架构结构:http://www.cnblogs.com/h ...
- C. Tanya and Toys_模拟
C. Tanya and Toys time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- vuejs生命周期函数
生命周期函数就是vue实例在某一个时间点会自动执行的函数 当我们创建一个实例的时候,也就是我们调用 new Vue() 这句话的时候,vue会帮助我们去创建一个实例,创建过程其实并不像我们想的那么简单 ...
- node入口文件分析和目录初始化
1.需要安装的模块 npm install express npm install jade npm install mongoose npm install bower -g npm install ...
- react里面引入图片
引入图片确实走了很多的坑,开始的认知里,所有静态页面都需要放在public里面能执行,代码是这样的 css .back{ background-image: url('/images/homeBack ...
- CSS select样式优化
下拉选择菜单基本的CSS样式不怎么好看,通过一些简单的样式优化,就可以起到美化的作用了. <div class="sel_wrap"> <label>请选择 ...