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
Proof of concept GnuCash Webinterface

Proof of Concept GnuCash Webinterface This may one day be a something truly great. Milestones [ ] Browse accounts and view transactions [ ] Record sim

Josh 14 Dec 28, 2022
A signature parser for hikari's command handler tanjun.

tanchi A signature parser for hikari's command handler tanjun. Finally be able to define your commands without those bloody decorator chains! Example

sadru 11 Nov 17, 2022
A web-app helping to create strong passwords that are easy to remember.

This is a simple Web-App that demonstrates a method of creating strong passwords that are still easy to remember. It also provides time estimates how long it would take an attacker to crack a passwor

2 Jun 04, 2021
A Modified version of TCC's Osprey poc framework......

fierce-fish fierce-fish是由TCC(斗象能力中心)出品并维护的开源漏洞检测框架osprey的改写,去掉臃肿功能的精简版本poc框架 PS:真的用不惯其它臃肿的功能,不过作为一个收集漏洞poc && exp的框架还是非常不错的!!! osprey For beginners fr

lUc1f3r11 10 Dec 30, 2022
Lite - Lite cracker tool for python

Wellcome to tools Results Install Tools

Jeeck X Nano 23 Dec 17, 2022
Brute-Force-Connected

Brute-Force-Connected Guess the password for Connected accounts the use : Create a new file and put usernames and passwords in it Example : joker:1234

4 Jun 05, 2022
Driver Buddy Reloaded is an IDA Pro Python plugin that helps automate some tedious Windows Kernel Drivers reverse engineering tasks.

Driver Buddy Reloaded Quickstart Table of Contents Installation Usage About Driver Buddy Reloaded Finding DispatchDeviceControl Labelling WDM & WDF St

Paolo 'VoidSec' Stagno 199 Jan 04, 2023
2021hvv漏洞汇总

清单 披露时间 涉及商家/产品 漏洞描述 2021/04/08 启明星辰天清汉马USG防火墙存在逻辑缺陷漏洞(历史漏洞) CNVD-2021-17391 启明星辰 天清汉马USG防火墙 逻辑缺陷漏洞 CNVD-2021-12793 2021/04/08 禅道项目管理软件11.6 禅道 11.6 sq

555 Jan 02, 2023
LeLeLe: A tool to simplify the application of Lattice attacks.

LeLeLe is a very simple library (300 lines) to help you more easily implement lattice attacks, the library is inspired by Z3Py (python interfa

Mathias Hall-Andersen 4 Dec 14, 2021
A kAFL based hypervisor fuzzer which fully supports nested VMs

hAFL2 hAFL2 is a kAFL-based hypervisor fuzzer. It is the first open-source fuzzer which is able to target hypervisors natively (including Hyper-V), as

SafeBreach Labs 115 Dec 07, 2022
一个自动挖掘漏洞的框架,日后会发展成强大的信息收集+漏洞挖掘脚本!

介绍 工具介绍 这是一款致力于将各类优秀脚本集合在一起调用、联动,最终可形成超级渗透脚本的工具。目的是扫描到更全的资产信息,发现更多的漏洞利用。但是这是通过牺牲扫描速度来提升扫描广度的。所以不太适合要进行紧急信息收集和漏洞利用的情况。

Thinking rookie 23 Jul 05, 2022
Open-source keylogger write in python

Python open-source keylogger Language Python open-source keylogger using pynput module Using Install dependences in archive setup.py or install.sh in

Dio brando 4 Jan 15, 2022
CVE-2021-26084 - Confluence Pre-Auth RCE OGNL injection

CVE-2021-26084 - Confluence Pre-Auth RCE OGNL injection Usage usage: cve-2021-26084_confluence_rce.py [-h] --url URL [--cmd CMD] [--shell] CVE-2021-2

r0cky 92 Jul 20, 2022
It's a simple tool for test vulnerability Apache Path Traversal

SimplesApachePathTraversal Simples Apache Path Traversal It's a simple tool for test vulnerability Apache Path Traversal https://blog.mrcl0wn.com/2021

Mr. Cl0wn - H4ck1ng C0d3r 56 Dec 27, 2022
Automatically download all 10,000 CryptoPunk NFTs.

CryptoPunk Stealer The sole purpose of this script is to download the entire CryptoPunk NFT collection. How does it work? Basically, the website where

Dan 7 Oct 22, 2022
MayorSec DNS Enumeration Tool

MayorSecDNSScan MSDNSScan is used to identify DNS records for target domains and check for zone transfers. There really isn't much special about it, a

Joe Helle 68 Dec 12, 2022
Windows Virus who destroy some impotants files on C:\windows\system32\

psychic-robot Windows Virus who destroy some importants files on C:\windows\system32\ Signatures of psychic-robot.PY (python file) : Bkav Pro : ASP.We

H-Tech-Dev36 1 Jan 06, 2022
Metal Gear Online 2 (MGO2) stage files decryption

Metal Gear Online 2 decryption tool Metal Gear Online 2 (MGO2) has an additional layer of encryption for stage files. I was not able to find info abou

4 Sep 02, 2022
Attack SQL Server through gopher protocol

Attack SQL Server through gopher protocol

hack2fun 17 Nov 30, 2022
Natural Language Processing - Sommer Semester 2022

Natural Language Processing (DIS25a/NLP) This course can be taken for the Bachelor Programm Data and Information Science (DIS25a) or the Master Progra

Classrooms of IR Group at Technische Hochschule Köln 19 Sep 07, 2022