-
Notifications
You must be signed in to change notification settings - Fork 0
/
php_fuzz.py
68 lines (58 loc) · 4.32 KB
/
php_fuzz.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import re
results = ""
new_results = ""
logo = """
____ __ __
/ ___| _ _ ___ | | | | __ __
\___ \ | | | | / _ \ | |——| | / __` |
___) || |_| || (_) || |——| || (_ ) |_
|____/ \__,_| \ ___ / |__| |__| \__,__|_\
-- PHP_fuzz
-- By 414a
"""
dic = '''
phpcredits(),getenv(),get_defined_vars(),array_rand(),array_reverse(),array_flip(),current(),var_dump(),session_id(),
file_get_contents(),readfile(),highlight_file(),getcwd(),scandir(),phpinfo(),apache_request_headers(),echo(),print_r(),
die(),system(),apache_response_headers(),apache_setenv(),getallheaders(),virtual(),apache_child_terminate(),apache_get_modules(),
apache_get_version(),apache_getenv(),apache_lookup_uri(),apache_note(),chdir(),chroot(),closedir(),dir(),opendir(),readdir(),
rewinddir(),call_user_func_array(),call_user_func(),create_function(),forward_static_call_array(),forward_static_call(),
func_get_arg(),func_get_args(),func_num_args(),function_exists(),get_defined_functions(),register_shutdown_function(),
register_tick_function(),unregister_tick_function(),connection_aborted(),connection_status(),constant(),define(),defined(),
eval(),exit(),get_browser(),__halt_compiler(),highlight_string(),hrtime(),ignore_user_abort(),pack(),php_strip_whitespace(),
show_source(),sleep(),sys_getloadavg(),time_nanosleep(),time_sleep_until(),uniqid(),unpack(),usleep(),scandir(),localeconv(),
pos(),array_flip(),scandir(),array_reverse(),array_rand(),next(),show_source(),file_get_contents(),highlight_file(),
array_change_key_case(),array_chunk(),array_column(),array_combine(),array_count_values(),array_diff_assoc(),array_diff_key(),
array_diff_uassoc(),array_diff_ukey(),array_diff(),array_fill_keys(),array_fill(),array_filter(),array_flip(),array_intersect_assoc(),
array_intersect_key(),array_intersect_uassoc(),array_intersect_ukey(),array_intersect(),array_is_list(),array_key_exists(),array_key_first(),
array_key_last(),array_keys(),array_map(),array_merge_recursive(),array_merge(),array_multisort(),array_pad(),array_pop(),array_product(),
array_push(),array_rand(),array_reduce(),array_replace_recursive(),array_replace(),array_reverse(),array_search(),array_shift(),array_slice(),
array_splice(),array_sum(),array_udiff_assoc(),array_udiff_uassoc(),array_udiff(),array_uintersect_assoc(),array_uintersect_uassoc(),
array_uintersect(),array_unique(),array_unshift(),array_values(),array_walk_recursive(),array_walk(),array(),arsort(),asort(),compact(),
count(),current(),end(),extract(),in_array(),key_exists(),key(),krsort(),ksort(),list(),natcasesort(),natsort(),next(),pos(),prev(),
range(),reset(),rsort(),shuffle(),sizeof(),sort(),uasort(),uksort(),usort(),each()
'''
print("\033[0;31;40m" + logo + "\033[0m")
print("use:")
print("输入被过滤函数:o|v|b|print|var|time|file|sqrt|path|dir|exp|pi|an|na|en|ex|et|na|dec|true|false")
print("输入分隔符(直接回车默认为空格):|")
print("\n")
dic = dic.split(',')
str_filter = input("输入被过滤函数:").lower()
separate = input("输入分隔符(直接回车默认为空格):")
if separate == "":
separate = " "
str_filter = str_filter.split(separate)
k = 0
for i in range(0,len(str_filter)):
for j in range(0,len(dic)):
if str_filter[i] not in dic[j]:
k += 1
else:
results += str(dic[j]) + ","
for i in dic:
if i not in results:
new_results += str(i)+ ","
new_results = new_results.split(',')
# print(new_results)
for i in new_results:
print(i.replace("\u200b","").replace("\n",""))