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
CVE-2021-22205& GitLab CE/EE RCE

Vuln Impact An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. GitLab was not properly validating image files tha

Al1ex 213 Dec 30, 2022
WinRemoteEnum is a module-based collection of operations achievable by a low-privileged domain user.

WinRemoteEnum WinRemoteEnum is a module-based collection of operations achievable by a low-privileged domain user, sharing the goal of remotely gather

Simon 9 Nov 09, 2022
⛤Keylogger Generator for Windows written in Python⛤

⛤Keylogger Generator for Windows written in Python⛤

FZGbzuw412 33 Nov 24, 2022
Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure.

Dlint Dlint is a tool for encouraging best coding practices and helping ensure Python code is secure. The most important thing I have done as a progra

Dlint 127 Dec 27, 2022
自动化爆破子域名,并遍历所有端口寻找http服务,并使用crawlergo、dirsearch、xray等工具扫描并集成报告;支持动态添加扫描到的域名至任务;

AutoScanner AutoScanner是什么 AutoScanner是一款自动化扫描器,其功能主要是遍历所有子域名、及遍历主机所有端口寻找出所有http服务,并使用集成的工具进行扫描,最后集成扫描报告; 工具目前有:oneforall、masscan、nmap、crawlergo、dirse

633 Dec 30, 2022
AutoScan 有多个目标时,调用xray+rad进行自动扫描

Usage: 在高级版Xray和rad同目录下运行 python3 X-AutoXray.py xxxx.txt 写的蛮人性化的哦,os,linux,windows通用 生成的xray报告会在当前目录的/result下面 Ctrl+c 打断脚本运行时还可以结算扫描进度,生成已扫描和未扫描的进度文件,

斯文 73 Jan 01, 2023
MSDorkDump is a Google Dork File Finder that queries a specified domain name and variety of file extensions

MSDorkDump is a Google Dork File Finder that queries a specified domain name and variety of file extensions (pdf, doc, docx, etc), and downloads them.

Joe Helle 150 Jan 03, 2023
Make files with as many random bytes as you want

Lots o' Bytes 🔣 Make files with as many random bytes as you want! Use case Can be used to package malware that is normally small by making the downlo

Addi 1 Jan 13, 2022
Threat research and reporting from IronNet's Threat Research Teams

IronNet Threat Research 🕵️ Overview This repository contains IronNet's Threat Research. Research & Reporting 📝 Project Description Cobalt Strike Res

36 Dec 02, 2022
Experimental musig2 python code, not for production use!

musig2-py Experimental musig2 python code, not for production use! This is just for testing things out. All public keys are encoded as 32 bytes, assum

Samuel Dobson 14 Jul 08, 2022
POC of CVE-2021-26084, which is Atlassian Confluence Server OGNL Pre-Auth RCE Injection Vulneralibity.

CVE-2021-26084 Description POC of CVE-2021-26084, which is Atlassian Confluence Server OGNL(Object-Graph Navigation Language) Pre-Auth RCE Injection V

antx 9 Aug 31, 2022
AnonStress-Stored-XSS-Exploit - An exploit and demonstration on how to exploit a Stored XSS vulnerability in anonstress

AnonStress Stored XSS Exploit An exploit and demonstration on how to exploit a S

صلى الله على محمد وآله 3 Jun 22, 2022
Python DNS Lookup: The Domain Name System (DNS) is basically the phonebook of the Internet

-Python-DNS-Lookup- ✨ 🌟 Python DNS Lookup ✨ 🌟 The Domain Name System (DNS) is

Ronnie Atuhaire 2 Feb 14, 2022
A quick script to spot the usage of Unicode Bidi (bidirectional) characters that could lead to an Invisible Backdoor

Invisible Backdoor Detector is a little Python script that allows you to spot and remove Bidi characters that could lead to an invisible backdoor. If you don't know what that is you should check the

SecSI 28 Dec 29, 2022
Northwave Log4j CVE-2021-44228 checker

Northwave Log4j CVE-2021-44228 checker Friday 10 December 2021 a new Proof-of-Concept 1 addressing a Remote code Execution (RCE) vulnerability in the

Northwave 125 Dec 09, 2022
It's a simple tool for test vulnerability shellshock

Shellshock, also known as Bashdoor, is a family of security bugs in the Unix Bash shell, the first of which was disclosed on 24 September 2014. Shellshock could enable an attacker to cause Bash to ex

Mr. Cl0wn - H4ck1ng C0d3r 88 Dec 23, 2022
Chapter 1 of the AWS Cookbook

Chapter 1 - Security Set and export your default region: export AWS_REGION=us-east-1 Set your AWS ACCOUNT ID:: AWS_ACCOUNT_ID=$(aws sts get-caller-ide

AWS Cookbook 30 Nov 27, 2022
Something I built to test for Log4J vulnerabilities on customer networks.

Log4J-Scanner Something I built to test for Log4J vulnerabilities on customer networks. I'm not responsible if your computer blows up, catches fire or

1 Dec 20, 2021
Open source vulnerability DB and triage service.

OSV - Open Source Vulnerabilities OSV is a vulnerability database and triage infrastructure for open source projects aimed at helping both open source

Google 893 Jan 04, 2023
Script checks provided domains for log4j vulnerability

log4j Script checks provided domains for log4j vulnerability. A token is created with canarytokens.org and passed as header at request for a single do

Matthias Nehls 2 Dec 12, 2021