使用木马识别网站检验免杀效果:https://www.virustotal.com/gui/
一句话木马免杀
使用eval方法
|
|
使用assert方法
|
|
写成HTML语言
|
|
call_user_func调用
|
|
拆分敏感字符(拆成若干部分)
|
|
自定义函数
|
|
插入无意义字符
|
|
面向对象
|
|
加密绕过(base64)
|
|
拆碎敏感字符(拆成字母)
|
|
借刀杀人
|
|
使用方法: POST内容为file=文件名.php&dt=一句话木马,这样本Webshell(表面安全)会在目录下创建一个真木马,从而绕过上传中间的查杀.
内存马
|
|
使用方法:
先访问test1.php这时该php会立即自杀,自杀之后会出现.hello.php杀不掉,接着访问.hello.php文件,POST内容pass=密码明文&cmd=命令
防御方法:
- 重启服务
- 创建新php文件,用
ignore_user_abort(true);进行竞争写入 - Linux下创建一个名字为
.haha.php的文件夹
正则表达式
标准正则表达式
仅供参靠,实战建议交给AI解决!
功能: 匹配东西,找东西
| 正则表达式 | 准确描述 | 示例(匹配 / 不匹配说明) |
|---|---|---|
\w |
匹配字母(大小写)、数字、下划线,等价于 [A-Za-z0-9_](非所有字符) |
匹配:a、5、_、B;不匹配:@、空格、¥、\n |
\w{3} |
匹配连续 3 个字母 / 数字 / 下划线(固定长度) | 匹配:abc、89_、X78;不匹配:ab、abcd、a 8(含空格) |
\w+ |
匹配 1 次或多次字母 / 数字 / 下划线(贪婪匹配,至少 1 个) | 匹配:user123、_abc、888;不匹配:空字符串、@123(以特殊字符开头) |
\s |
匹配空白字符(空格、制表符\t、换行符\n、回车符\r等) |
匹配:(空格)、\t、\n;不匹配:a、5、@ |
^ |
锚点,匹配字符串的开头位置(多行模式下匹配每行开头) | ^hello:匹配hello world,不匹配world hello |
$ |
锚点,匹配字符串的结尾位置(多行模式下匹配每行结尾) | world$:匹配hello world,不匹配world hello |
\b\w{3}\b |
\b是单词边界,匹配 “独立的 3 个字符的单词”(前后为非字母 / 数字 / 下划线) |
匹配:abc(单独)、abc 123中的abc;不匹配:abcd中的abc、aabc中的abc |
\d |
匹配单个数字(0-9),等价于 [0-9] |
匹配:0、9;不匹配:a、_、空格 |
\d{3}-\d{7} |
匹配 “3 位数字 - 7 位数字” 的格式(典型座机号格式) | 匹配:010-1234567、888-9999999;不匹配:01-1234567(位数不足)、010-123456 |
\w+@(qq.com竖线gmail.com) |
匹配以字母 / 数字 / 下划线开头,@后是qq.com或gmail.com的邮箱 | 匹配:[email protected]、[email protected];不匹配:[email protected]、@qq.com |
* |
匹配前面的表达式 0 次或多次(贪婪匹配) | a*:匹配空字符串、a、aaaa;\d*:匹配空、123 |
. |
匹配除换行符\n外的任意单个字符 |
.:匹配a、5、@、空格;不匹配:\n |
? |
匹配前面的表达式 0 次或 1 次(非贪婪) | a?:匹配空、a;不匹配:aa(仅匹配第一个 a) |
+ |
匹配前面的表达式 1 次或多次(贪婪,至少 1 次) | a+:匹配a、aaaa;不匹配:空字符串 |
.* |
贪婪匹配:匹配除换行外的任意字符 0 次或多次(尽可能多匹配) | a.*b:匹配a123b、a@@@b,若字符串是a1b2b则匹配a1b2b(而非a1b) |
\[.*?\] |
非贪婪匹配:匹配[和]之间的任意内容(尽可能少匹配) |
\[.*?\]:字符串[abc][def]中匹配[abc]和[def](而非整体[abc][def]) |
\[label[0-9]\](.*?)\[/label[0-9]\] |
匹配[label数字]和[/label数字]之间的内容(非贪婪) |
匹配:[label1]test[/label1]中的test;不匹配:[labela]test[/label1](数字不匹配) |
.orn |
匹配 “任意字符 + orn” 的 4 字符组合 | 匹配:corn、born、@orn;不匹配:orn(字符不足)、corrn |
[ab]bcd |
匹配以 a 或 b 开头,后接 bcd 的字符串(字符类) | 匹配:abcd、bbcd;不匹配:cbcd、abxd |
[^a]bcd |
匹配以 “非 a 字符” 开头,后接 bcd 的字符串(反向字符类) | 匹配:bbcd、5bcd、@bcd;不匹配:abcd |
[f-z]+ |
匹配 1 次或多次 f 到 z 的小写字母(字符范围) | 匹配:f、xyz、mnop;不匹配:F(大写)、abc、123 |
[a]?bcd |
匹配 “a(可选)+ bcd”,即 bcd 或 abcd | 匹配:bcd、abcd;不匹配:aabcd、xbcd |
[0-3]{3} |
匹配连续 3 个 0-3 的数字(固定长度 + 字符范围) | 匹配:012、333、201;不匹配:456、01、014 |
() |
分组:将括号内的表达式视为一个整体,可配合量词 / 或使用 | (ab)+:匹配ab、abab |
php正则表达式
i 忽略大小写
g 全局搜索
m 多行
e 当作php执行
示例1:
|
|
输出:haha nihao x x x !
示例2:
|
|
输出:good nihao------456 !
正则表达式的一句话木马:
|
|
补充:日志审计
打开:CISP-PTE 认证考试并下载日志
使用正则表达式\.php.+ 200查找