Tool for finding PHP source code vulnerabilities.

Overview

vulnz

Tool for finding php source code vulnerabilities.

Scans PHP source code and prints out potentially dangerous lines. This tool is useful for security researchers, pentesters and bug hunters. If any file specified contains line with function call that is inside 'functions.txt' wordlist, it will echo it out.

-h, --help

usage: vulnz.py [-r] [-h] [files ...]

Vulnz, tool for finding php source code vulns.

positional arguments:
  file(s)          Specify php file(s) to look at, '*' for all

optional arguments:
  -r, --recursive  Look recursively from current directory
  -h, --help       Show this help message and exit.

Example 1)

"; ping_equipment.class.php:85 echo ""; ping_equipment.class.php:101 echo Html::scriptBlock("$(document).on('click', '#ping_ip', function(event) { ping_equipment.class.php:129 exec("ping -c 1 -w 1 " . $ip, $list); ping_equipment.class.php:131 exec("ping -c 1 -w 1 " . $ip, $list, $error); ping_equipment.class.php:146 exec("ping.exe -n 1 -w 100 -i 64 " . $ip, $list); ping_equipment.class.php:148 exec("ping.exe -n 1 -w 100 -i 64 " . $ip, $list, $error); ping_equipment.class.php:163 exec("fping -r1 -c1 -t100 " . $ip, $list); ping_equipment.class.php:165 exec("fping -r1 -c1 -t100 " . $ip, $list, $error); ping_equipment.class.php:180 exec("ping -c 1 -W 1 " . $ip, $list); ping_equipment.class.php:182 exec("ping -c 1 -W 1 " . $ip, $list, $error); ping_equipment.class.php:197 exec("ping -c 1 -t 1 " . $ip, $list); ping_equipment.class.php:199 exec("ping -c 1 -t 1 " . $ip, $list, $error); ping_equipment.class.php:233 exec("ping -c 1 -w 1 -a " . $ip, $list, $error); ping_equipment.class.php:238 exec("ping.exe -n 1 -w 100 -i 64 -a " . $ip, $list, $error);">
└─$ vulnz ping_equipment.class.php                                                                                                                                                         
ping_equipment.class.php:75     echo "";
ping_equipment.class.php:85     echo "";
ping_equipment.class.php:101    echo Html::scriptBlock("$(document).on('click', '#ping_ip', function(event) {
ping_equipment.class.php:129    exec("ping -c 1 -w 1 " . $ip, $list);
ping_equipment.class.php:131    exec("ping -c 1 -w 1 " . $ip, $list, $error);
ping_equipment.class.php:146    exec("ping.exe -n 1 -w 100 -i 64 " . $ip, $list);
ping_equipment.class.php:148    exec("ping.exe -n 1 -w 100 -i 64 " . $ip, $list, $error);
ping_equipment.class.php:163    exec("fping -r1 -c1 -t100 " . $ip, $list);
ping_equipment.class.php:165    exec("fping -r1 -c1 -t100 " . $ip, $list, $error);
ping_equipment.class.php:180    exec("ping -c 1 -W 1 " . $ip, $list);
ping_equipment.class.php:182    exec("ping -c 1 -W 1 " . $ip, $list, $error);
ping_equipment.class.php:197    exec("ping -c 1 -t 1 " . $ip, $list);
ping_equipment.class.php:199    exec("ping -c 1 -t 1 " . $ip, $list, $error);
ping_equipment.class.php:233    exec("ping -c 1 -w 1 -a " . $ip, $list, $error);
ping_equipment.class.php:238    exec("ping.exe -n 1 -w 100 -i 64 -a " . $ip, $list, $error);

Example 2)

showReservationForm($_GET["ip"], $_GET['id_addressing'], $_GET['rand']); ajax/addressing.php:37 if (isset($_POST['action']) && $_POST['action'] == 'viewFilter') { ajax/addressing.php:38 if (isset($_POST['items_id']) ajax/addressing.php:39 && isset($_POST["id"])) { ajax/addressing.php:41 $filter->showForm($_POST["id"], ['items_id' => $_POST['items_id']]); ajax/addressing.php:46 } else if (isset($_POST['action']) && $_POST['action'] == 'entities_networkip') { ajax/addressing.php:47 IPNetwork::showIPNetworkProperties($_POST['entities_id']); ajax/addressing.php:49 } else if (isset($_POST['action']) && $_POST['action'] == 'entities_location') { ajax/addressing.php:51 'value' => $_POST["value"], ajax/addressing.php:52 'entity' => $_POST['entities_id']]); ajax/addressing.php:54 } else if (isset($_POST['action']) && $_POST['action'] == 'entities_fqdn') { ajax/addressing.php:56 'value' => $_POST["value"], ajax/addressing.php:57 'entity' => $_POST['entities_id']]); ajax/seePingTab.php:41 echo Html::scriptBlock("$('#ping_item').show();"); ajax/seePingTab.php:31 if (strpos($_SERVER['PHP_SELF'], "seePingTab.php")) { ajax/seePingTab.php:39 if (isset($_POST['action']) && $_POST['action'] == "viewPingform") { ajax/seePingTab.php:44 $pingE->showPingForm($_POST['itemtype'], $_POST['items_id']); ajax/seePingTab.php:47 $_POST['name'] = "ping_item"; ajax/seePingTab.php:48 $_POST['rand'] = ""; ajax/seePingTab.php:49 Ajax::commonDropdownUpdateItem($_POST); inc/config.class.php:48 echo "
"; inc/addressing.class.php:221 echo Html::input('name', ['value' => $this->fields['name'], 'size' => 40]); inc/addressing.class.php:253 echo Html::input('_ipdeb0', ['value' => $ipexploded[0], inc/addressing.class.php:258 echo Html::input('_ipdeb1', ['value' => $ipexploded[0], inc/addressing.class.php:263 echo Html::input('_ipdeb2', ['value' => $ipexploded[0], inc/addressing.class.php:268 echo Html::input('_ipdeb3', ['value' => $ipexploded[0], inc/addressing.class.php:318 echo Html::input('_ipfin0', ['value' => $ipexploded[0], inc/addressing.class.php:324 echo Html::input('_ipfin1', ['value' => $ipexploded[0], inc/addressing.class.php:330 echo Html::input('_ipfin2', ['value' => $ipexploded[0], inc/addressing.class.php:336 echo Html::input('_ipfin3', ['value' => $ipexploded[0], inc/addressing.class.php:359 echo Html::hidden('begin_ip', ['value' => $this->fields["begin_ip"], inc/addressing.class.php:361 echo Html::hidden('end_ip', ['value' => $this->fields["end_ip"], inc/addressing.class.php:366 echo Html::scriptBlock('$(document).ready(function() {' . $js . '});'); inc/addressing.class.php:448 echo "".__('Export').""; inc/addressing.class.php:688 echo __('Number of free IP', 'addressing') . " " . $nbipf . "
"; inc/addressing.class.php:692 echo __('Number of reserved IP', 'addressing') . " " . $nbipr . "
"; inc/addressing.class.php:696 echo __('Number of assigned IP (no doubles)', 'addressing') . " " . $nbipt . "
"; inc/addressing.class.php:700 echo __('Number of doubles IP', 'addressing') . " " . $nbipd . "
"; inc/addressing.class.php:741 echo ""; inc/addressing.class.php:744 echo Html::hidden('id', ['value' => $id]); inc/addressing.class.php:849 echo __('Real free IP (Ping=KO)', 'addressing') . " " . $total_realfreeip; inc/addressing.class.php:991 echo Html::hidden($name, ['id' => $name, inc/addressing.class.php:1012 echo ""; inc/addressing.class.php:1014 echo ""; inc/addressing.class.php:471 if (isset($_GET["export"])) { inc/addressing.class.php:867 $item->showReport($_GET); inc/filter.class.php:96 echo Html::hidden('id', ['value' => $ID]); inc/filter.class.php:97 echo Html::hidden('plugin_addressing_addressings_id', ['value' => $options['items_id']]); inc/filter.class.php:100 echo Html::input('name', ['value' => $this->fields['name'], 'size' => 40]); inc/filter.class.php:135 echo Html::input('_ipdeb0', ['value' => $ipexploded[0], inc/filter.class.php:140 echo Html::input('_ipdeb1', ['value' => $ipexploded[0], inc/filter.class.php:145 echo Html::input('_ipdeb2', ['value' => $ipexploded[0], inc/filter.class.php:150 echo Html::input('_ipdeb3', ['value' => $ipexploded[0], inc/filter.class.php:190 echo Html::input('_ipfin0', ['value' => $ipexploded[0], inc/filter.class.php:196 echo Html::input('_ipfin1', ['value' => $ipexploded[0], inc/filter.class.php:202 echo Html::input('_ipfin2', ['value' => $ipexploded[0], inc/filter.class.php:208 echo Html::input('_ipfin3', ['value' => $ipexploded[0], inc/filter.class.php:221 echo Html::hidden('begin_ip', ['id' => 'plugaddr_ipdeb', 'value' => $this->fields["begin_ip"]]); inc/filter.class.php:222 echo Html::hidden('end_ip', ['id' => 'plugaddr_ipfin', 'value' => $this->fields["end_ip"]]); inc/filter.class.php:226 echo Html::scriptBlock('$(document).ready(function() {'.$js.'});'); inc/filter.class.php:265 echo "
\n"; inc/filter.class.php:268 echo "function viewAddFilter" . $item_id . "$rand() {\n"; inc/filter.class.php:295 echo " "; inc/filter.class.php:319 echo $header_begin . $header_top . $header_end; inc/filter.class.php:330 echo $header_begin . $header_bottom . $header_end; inc/filter.class.php:361 echo "function viewEditFilter" . $filter["id"] . "$rand() {\n"; inc/filter.class.php:374 echo " "; inc/filter.class.php:375 echo " "; inc/filter.class.php:377 echo " "; inc/filter.class.php:378 echo " "; inc/filter.class.php:379 echo " "; inc/filter.class.php:49 self::showList($_GET); inc/reserveip.class.php:181 echo Html::hidden('ip', ['value' => $ip]); inc/reserveip.class.php:182 echo Html::hidden('id_addressing', ['value' => $id_addressing]); inc/reserveip.class.php:259 echo Html::input('name_reserveip', $option); inc/profile.class.php:66 echo ""; inc/profile.class.php:96 echo Html::hidden('id', ['value' => $profiles_id]); inc/ping_equipment.class.php:75 echo ""; inc/ping_equipment.class.php:85 echo ""; inc/ping_equipment.class.php:101 echo Html::scriptBlock("$(document).on('click', '#ping_ip', function(event) { inc/ping_equipment.class.php:129 exec("ping -c 1 -w 1 " . $ip, $list); inc/ping_equipment.class.php:131 exec("ping -c 1 -w 1 " . $ip, $list, $error); inc/ping_equipment.class.php:146 exec("ping.exe -n 1 -w 100 -i 64 " . $ip, $list); inc/ping_equipment.class.php:148 exec("ping.exe -n 1 -w 100 -i 64 " . $ip, $list, $error); inc/ping_equipment.class.php:163 exec("fping -r1 -c1 -t100 " . $ip, $list); inc/ping_equipment.class.php:165 exec("fping -r1 -c1 -t100 " . $ip, $list, $error); inc/ping_equipment.class.php:180 exec("ping -c 1 -W 1 " . $ip, $list); inc/ping_equipment.class.php:182 exec("ping -c 1 -W 1 " . $ip, $list, $error); inc/ping_equipment.class.php:197 exec("ping -c 1 -t 1 " . $ip, $list); inc/ping_equipment.class.php:199 exec("ping -c 1 -t 1 " . $ip, $list, $error); inc/ping_equipment.class.php:233 exec("ping -c 1 -w 1 -a " . $ip, $list, $error); inc/ping_equipment.class.php:238 exec("ping.exe -n 1 -w 100 -i 64 -a " . $ip, $list, $error); inc/pinginfo.class.php:202 echo $content; inc/pinginfo.class.php:206 echo "
" . $filter['name'] . "" . Dropdown::getDropdownName('glpi_entities', $filter['entities_id']) . "" . $types[$filter['type']] . "" . $filter['begin_ip'] . "" . $filter['end_ip'] . "
"; inc/filter.class.php:319 echo $header_begin . $header_top . $header_end; inc/filter.class.php:330 echo $header_begin . $header_bottom . $header_end; inc/filter.class.php:361 echo "function viewEditFilter" . $filter["id"] . "$rand() {\n"; inc/filter.class.php:374 echo ""; inc/filter.class.php:375 echo ""; inc/filter.class.php:377 echo ""; inc/filter.class.php:378 echo ""; inc/filter.class.php:379 echo ""; inc/filter.class.php:49 self::showList($_GET); inc/reserveip.class.php:181 echo Html::hidden('ip', ['value' => $ip]); inc/reserveip.class.php:182 echo Html::hidden('id_addressing', ['value' => $id_addressing]); inc/reserveip.class.php:259 echo Html::input('name_reserveip', $option); inc/profile.class.php:66 echo ""; inc/profile.class.php:96 echo Html::hidden('id', ['value' => $profiles_id]); inc/ping_equipment.class.php:75 echo ""; inc/ping_equipment.class.php:85 echo ""; inc/ping_equipment.class.php:101 echo Html::scriptBlock("$(document).on('click', '#ping_ip', function(event) { inc/ping_equipment.class.php:129 exec("ping -c 1 -w 1 " . $ip, $list); inc/ping_equipment.class.php:131 exec("ping -c 1 -w 1 " . $ip, $list, $error); inc/ping_equipment.class.php:146 exec("ping.exe -n 1 -w 100 -i 64 " . $ip, $list); inc/ping_equipment.class.php:148 exec("ping.exe -n 1 -w 100 -i 64 " . $ip, $list, $error); inc/ping_equipment.class.php:163 exec("fping -r1 -c1 -t100 " . $ip, $list); inc/ping_equipment.class.php:165 exec("fping -r1 -c1 -t100 " . $ip, $list, $error); inc/ping_equipment.class.php:180 exec("ping -c 1 -W 1 " . $ip, $list); inc/ping_equipment.class.php:182 exec("ping -c 1 -W 1 " . $ip, $list, $error); inc/ping_equipment.class.php:197 exec("ping -c 1 -t 1 " . $ip, $list); inc/ping_equipment.class.php:199 exec("ping -c 1 -t 1 " . $ip, $list, $error); inc/ping_equipment.class.php:233 exec("ping -c 1 -w 1 -a " . $ip, $list, $error); inc/ping_equipment.class.php:238 exec("ping.exe -n 1 -w 100 -i 64 -a " . $ip, $list, $error); inc/pinginfo.class.php:202 echo $content; inc/pinginfo.class.php:206 echo "
" . $filter['name'] . " " . Dropdown::getDropdownName('glpi_entities', $filter['entities_id']) . " " . $types[$filter['type']] . " " . $filter['begin_ip'] . " " . $filter['end_ip'] . "
Owner
Mateo Hanžek
Just a mach1ne.
Mateo Hanžek
I hacked my own webcam from a Kali Linux VM in my local network, using Ettercap to do the MiTM ARP poisoning attack, sniffing with Wireshark, and using metasploit

plan I - Linux Fundamentals Les utilisateurs et les droits Installer des programmes avec apt-get Surveiller l'activité du système Exécuter des program

148 Dec 22, 2022
Log4j rce test environment and poc

log4jpwn log4j rce test environment See: https://www.lunasec.io/docs/blog/log4j-zero-day/ Experiments to trigger in various software products mentione

Leon Jacobs 307 Dec 24, 2022
BoobSnail allows generating Excel 4.0 XLM macro. Its purpose is to support the RedTeam and BlueTeam in XLM macro generation.

Follow us on Twitter! BoobSnail BoobSnail allows generating XLM (Excel 4.0) macro. Its purpose is to support the RedTeam and BlueTeam in XLM macro gen

STM Cyber 232 Nov 21, 2022
GitLab CE/EE Preauth RCE using ExifTool

CVE-2021-22205 GitLab CE/EE Preauth RCE using ExifTool This project is for learning only, if someone's rights have been violated, please contact me to

3ND 164 Dec 10, 2022
LittleBrother is a simple parental control application monitoring specific processes on Linux hosts to monitor and limit the play time of children.

Parental Control Application LittleBrother Overview LittleBrother is a simple parental control application monitoring specific processes (read "games"

40 Dec 21, 2022
使用golang重写开源工具wafw00f

GO-WAFW00F 介绍 WAFW00F是一款优秀的web应用防火墙识别开源工具:https://github.com/EnableSecurity/wafw00f 使用Golang重写的原因:Python环境配置不便利,Golang打包生成可执行文件直接运行 目前还在开发阶段,规则解析存在小问题

80 Dec 30, 2021
#whois it? Let's find out!

whois_bot #whois it? Let's find out! Currently in development: a gatekeeper bot for a community (https://t.me/IT_antalya) of 250+ expat IT pros of Ant

Kirill Nikolaev 14 Jun 24, 2022
Fast and easy way to rollout on multiple GitLab project file a particular content.

Volatile Fast and easy way to rollout on multiple GitLab project file a particular content. Why ? After looking for a tool to simply enforce a develop

Lujeni 4 Jan 17, 2022
PKUAutoElective for 2021 spring semester

PKUAutoElective 2021 Spring Version Update at Mar 7 15:28 (UTC+8): 修改了 get_supplement 的 API 参数,已经可以实现课程列表页面的正常跳转,请更新至最新 commit 版本 本项目基于 PKUAutoElectiv

Zihan Mao 84 Sep 09, 2022
Password-Manager GUI

PASSWORD-MANAGER This repo contains all the project files. Project Description A Tkinter GUI that allows you to store website info like website name,

David .K. Danso 1 Dec 08, 2021
Spring Cloud Gateway < 3.0.7 & < 3.1.1 Code Injection (RCE)

Spring Cloud Gateway 3.0.7 & 3.1.1 Code Injection (RCE) CVE: CVE-2022-22947 CVSS: 10.0 (Vmware - https://tanzu.vmware.com/security/cve-2022-22947)

Carlos Vieira 35 Dec 28, 2022
Signatures and IoCs from public Volexity blog posts.

threat-intel This repository contains IoCs related to Volexity public threat intelligence blog posts. They are organised by year, and within each year

Volexity 130 Dec 29, 2022
A hashtag check python module

A hashtag check python module

Fayas Noushad 3 Aug 10, 2022
Deltaspy - an advanced keylogger that can send keylogs and screenshots to gmail

Deltaspy Deltaspy is a advanced keylogger which sends keylogs and screenshot to

Praanesh S 1 Dec 31, 2021
the swiss army knife in the hash field. fast, reliable and easy to use

hexxus Hexxus is a fast hash cracking tool which checks more than 30 thousand passwords in under 4 seconds and can crack the following types bcrypt sh

enigma146 17 Apr 05, 2022
How to exploit a double free vulnerability in 2021. 'Use-After-Free for Dummies'

This bug doesn’t exist on x86: Exploiting an ARM-only race condition How to exploit a double free and get a shell. "Use-After-Free for dummies" In thi

Stephen Tong 1.2k Dec 25, 2022
Simple Python 3 script to detect the "Log4j" Java library vulnerability (CVE-2021-44228) for a list of URL with multithreading

log4j-detect Simple Python 3 script to detect the "Log4j" Java library vulnerability (CVE-2021-44228) for a list of URL with multithreading The script

Wade 1 Dec 15, 2021
A simple python script for hosting a Snowflake Proxy in your python program or with it's standalone cli

snowflake-cli Snowflake is a system to defeat internet censorship, made by Tor Project. The system works by volunteers who run the snowflake extension

Guilherme Paixão 6 Jul 14, 2022
Spray365 is a password spraying tool that identifies valid credentials for Microsoft accounts (Office 365 / Azure AD).

What is Spray365? Spray365 is a password spraying tool that identifies valid credentials for Microsoft accounts (Office 365 / Azure AD). How is Spray3

Mark Hedrick 246 Dec 28, 2022
It is a very simple XSS simulator based on flask, python.

It is a very simple XSS simulator based on flask, python. The purpose of making this is for teaching the concept of XSS.

Satin Wuker 3 May 10, 2022