代码审计

代码审计工具: Seay RIPS

php配置常量 含义
PHP_INI_USER 该配置项可在用户的PHP脚本或者windows注册表配置
PHP_INI_PERDIR 该配置项可在php.ini .htaccess 或者 httpd.conf中设置
PHP_INI_SYSTEM 改配置项可在php.ini 或者httpd.conf中设置
PHP_INI_ALL 该配置项可在任何地方配置
php.ini only 该配置项仅可在php.ini中配置

PHP安全配置

PHP 安全配置多达百项,这里只列出和安全相关的配置项。

一、代码审计基础

1. register_globals(全局变量注册开关)

该选项设置为ON的情况下,会直接把GET、POST等方式传递的参数注册为全局变量并初始化为参数对应的值,使得提交的参数可以直接在脚本中使用。

register_globals 在PHP版本小于等于4.2.3版本时设置为PHP_INI_ALL,从PHP5.3.0起都被废弃,不推荐使用,在PHP5.4.0中移除了该选项。

2018-12-12

1.莫斯密码

对照一下就出来了

2.栅栏密码

用栅栏密码解密,得到flag,栅栏数为2

3.OK

使用OOK在线解密工具即可

4.这不是莫斯

1
2
3
4
5
6
7
+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.< +++[- >---< ]>--- .---- .<+++ ++++[ ->--- ----<
]>--- ----- ----- .<+++ ++++[ ->+++ ++++< ]>+++ ++.<+ +++++ +[->- -----
-<]>. <++++ ++++[ ->+++ +++++ <]>++ .<+++ [->-- -<]>- ----. <++++ +++[-
>---- ---<] >---- ----. +++++ +..++ +++.+ .<+++ [->-- -<]>- --.<+ +++++
+[->+ +++++ +<]>+ ++.++ +.+++ +++++ +.--- -.+++ ++.<+ ++[-> +++<] >++++
++.<

https://www.splitbrain.org/services/ook

brainfuck j加密

5. 简单加密

e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA

凯撒密码,带移位版本,在线工具:

https://tool.bugku.com/jiemi/

6.散乱的密文

lf5{ag024c483549d7fd@@1}
一张纸条上凌乱的写着2 1 6 5 3 4
1.建表

2 1 6 5 3 4
l f 5 { a g
0 2 4 c 4 8
3 5 4 9 d 7
f d @ @ 1 }

f25dl03fa4d1g87}{c9@544@

然后用栅栏密码解密

7.凯撒部长的奖励

凯撒密码

https://tool.bugku.com/jiemi/

8.

bugku 社工

1.密码

根据名字和生日猜

2.信息查找

用googlehack搜索
inurl: www.toutiao.com bugku.cn

3.简单个人信息收集

伪加密。

java -jar ZipCenOp.jar r 1.zip

4.社工

现在已经找不到社工库了。。

5.社工进阶

php常见漏洞分析

目录绕过技巧

1.若存在字符检测,如strstr函数等,可以使用../http/../来绕过

其中http是strstr所检测字符

  1. ../ 效果等同于 ..//////

正则绕过技巧

在做一个比赛题目,需要绕过preg_match函数。

代码:

1
2
3
4
5
6
7
8
<?php
function is_php($data){
return preg_match('/<\?.*[(`;?>].*/is', $data);
}

if(!is_php($input)) {
// fwrite($f, $input); ...
}

正则匹配进行回溯过程的最大长度限制为100W,因此 构造 数据+ x*1000000可以绕过使正则匹配失效。

修复方法 使用 ===0 来对正则匹配的结果进行判断k


file(“./flag.php”) 读取文件
print_r() 输出变量
GLOBALS 全局变量!
php://filter/read/convert.base64-encode/resource=index.php