<
Tp框架审计
>
上一篇

php代码审计实战
下一篇

Xpath注入

TP框架审计

1.TP框架结构

index.php 项目入口文件

application:存放项目的文件夹

public 存放公有的文件

conf 配置文件

library 存放TP核心类文件

mode 模型文件

controller:控制器

mode:模型

view:视图

0x2:访问方式

1)找到入口文件

/index.php?m=Home(模块)&c=Index(控制器名)&a=(方法名)

2)/index.php/Home/index/index 路径模式:/index.php/模块/控制器名/方法名

2.审计

1)寻找到用户输入参数位置:$_GET、$_POST获取用户输入的参数

2)对获取用户输入的参数及涉及的功能函数方法,检查是否对参数进行了过滤

3)越权类

针对高权限用户才具备的功能执行函数的操作权限判断

4)sql注入

搜索sql语句与输入的参数是否过滤

5)文件上传函数

tip:move_uploaded_file() 白盒审计直接搜提高效率

6)文件读取(下载)漏洞:

搜索关键函数:

file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等

7)等于与存在判断绕过:

in_array(): 比较之前会自动转换类型

(1) in_array(): 比较之前会自动转换类型

img

img

(2)is_numeric():当传入参数为hex时 直接通过并返回true 并且MYSQL可以直接使用hex编码代替字符串明文 可以二次注入 并且可能造成XSS漏洞

(3)双等于==和三等于===:

钻GPC等转义空子

不受GPC保护的$_SERVER变量:PHP5以后,$_SERVER取到的header不再受GPC影响,就算开启特殊字符也不会被转义,存在注入

编码问题转换:

mb_convert_encoding():

GBK的宽字节注入:%df ‘ 单引号自动被转义成(%5c),同时%df与%5c连在一起组合成运字单引号依然在,成功闭合。

核心文件:common.fun.php

文件包含漏洞

如:

str_replace('../', '', $language);

payload:(….// …/./ )(.//….//….//etc/passwd)

Top
Foot