漏洞挖掘

PHP代码审计—————PHP环境简介

戏子无情 提交于 2019-12-02 11:38:06
前言 代码在不同环境下执行的结果也会大有不同,可能就是因为一个配置问题,导致一个非常高危的漏洞能够利用;也可能你已经找到一个漏洞就因为你的配置问题,导致你弄了好久都无法构造成功的漏洞利用代码。然而,在不同的PHP版本中配置指令也会有不一样的地方,新的版本可能会增加或者删除部分指令,改变指令默认设置或者固定设置命令,因此,我们在代码审计之前需要非常熟悉PHP各个版本中配置文件的核心指令,才可以高效的挖掘到高质量的漏洞。 PHP_INI_*常量 常量 含义 PHP__INI__USER 该配置选项可以再用户的PHP脚本或Windows注册表中设置 PHP__INI__PERDIR 该配置选项可以再php.ini ..htaccess或http.conf中设置 PHP__INI__SYSTEM 该设置选项可以在php.ini或http.conf中设置 PHP__INI__ALL 该配置选项可在任何地方设置 php.ini only 该设置选项仅可在php.ini中设置 PHP的配置文件指令多达数百项,这里就不一一做介绍了,如果对这方面有兴趣的话可以去PHP配置官方说明文件中查看具体内容: http://www.php.net/manual/zh/ini.list.php PHP常见的基本设置 (1)open_basedir设置 open_basedir能限制应用程序能访问的目录

PHP代码审计————通用代码审计思路

血红的双手。 提交于 2019-12-02 11:37:45
前言 本小节我们就来总结一下在PHP代码审计中常用到的代码审计思路 敏感函数回溯参数过程 根据敏感函数的来逆向追踪参数的传递过程,是目前使用的最多的一种方式,因为大多数漏洞是由于函数的使用不当造成的。另外非函数使用不当的漏洞,如sql注入,也有一些特征,比如select、insert等,再结合from和where等关键字,我们就可以判读是否是一条SQL语句,通过对字符串的识别分析,就能判读这个sql语句里面的参数有没有使用单引号过滤,或者根据我们的经验来判断。 就像是HTTP头里面的HTTP_CLIENT_IP和HTTP_X_FORWARDFOR等获取到的IP地址经常没有安全过滤就直接拼接到了SQL语句中,并且由于它们是在$_SERVERE变量中不受GPC的影响,那我们就可以去查找HTTP_CLIENT_IP和HTTP_X_FORWARDFOR关键字来快速寻找漏洞。 这种方式的 优点 是只需要搜索相关敏感关键字,即可以快速第挖掘想要的漏洞,具有可定向挖掘和高效、高质量的优点。 缺点 是由于没有通读代码对程序的整体框架了解不够深入,在挖掘漏洞时定位利用点会花费一点时间,另外对逻辑漏洞挖掘覆盖不到。 通读全文代码 前面提到的根据敏感关键字来回溯传入的参数,是一种逆向追踪的思路,我们也提到了这种方式的优点与缺点,实际上在需要快速寻找漏洞的情况下用回溯参数的方式是非常有效的

【渗透实战】日常挖洞第二期_旁站注入“花式”漏洞拿下大型服务器

走远了吗. 提交于 2019-12-02 11:36:38
/禁止转载 原作者QQ:848581720/ ■重要细节全部打码 ■部分细节对外开放 ●漏洞已提交,无影响厂商忽略 注:日常挖洞系列基本上是记录平常遇到的非常普通的漏洞,毫无看点,仅仅记录挖洞的经验 ———————————————— 这某个晴朗的下午,我无意间在网上看到一个网站“某个社会组织信息网”附个图 按照习惯,我们点击一篇文章进去,看域名http://www.xxxxx.com/xh.php?mod=news&act=view&aid=71 这个时候我们先用手工注入方法进行测试,后面加入!@#¥%……&*|“”这些符号, 或者输入and 1=1 或者 and 1=2,会看到网页报错 这个时候我们要考虑几个因素,如果网页没有显示什么“黑客特征” 那么可以排除服务器没装360等安全工具 其次我们看“报错特征”,因为注入有很多种,文中注入,数字注入,搜索双注入,这个时候我们排除搜索双注入 接下来不浪费时间直接上工具,注入工具我选择萝卜头(havij) 这样网站的管理密码就出来了,后台直接输入/admin.php就出来了,所以不需要用其他手段 这事还没完,哈哈哈哈,请耐心看下去,后面有大招 按道理我们应该先收集信息,在渗透入侵,这次我们反过来,先入侵在收集信息 解析来我们系统的看一下这个网站有哪些漏洞可以利用 那么我们可以看到,在w3af中检测是没有漏洞的,在Acunetix Web

一些常见网络安全术语

拥有回忆 提交于 2019-12-02 01:46:13
1、黑帽   为非法目的进行黑客攻击的人,通常是为了经济利益。他们进入安全网络以销毁,赎回,修改或窃取数据,或使网络无法用于授权用户。这个名字来源于这样一个事实:老式的黑白西部电影中的恶棍很容易被电影观众识别,因为他们穿着黑色的斯泰森,而“好人”则戴着白帽子。 2、后门   隐藏在计算机系统中的“管道”,绕过登录和密码的正统保护,从而使它们在保护数据方面基本上无效。 3、蛮力攻击   黑客对系统中的每一个可能的密码进行高度密集的自动搜索,从而破坏安全并获得对计算机的访问权限。 4、Doxing   通过在线查看其详细信息,发现并发布互联网用户的身份。黑客专业术语大全 5、灰色的帽子   执行黑客攻击的人,但不是为了个人或经济利益。一个例子是黑客行为,作为更广泛的政治抗议活动的一部分进行,活动家们使一个组织的政策或官方观点被视为诅咒而令人尴尬或羞辱。 6、IP   Internet协议地址-计算机的标识符或“指纹”。这用于识别使用设备的人,跟踪其活动或显示其位置。 7、按键记录   跟踪计算机用户按下哪些键,以便黑客可以将登录代码和密码记录到系统中。 8、恶意软件   旨在控制或窃取计算机数据的程序。 9、网络钓鱼   通过向他们发送看似来自真正的人或组织的电子邮件,重复某人向您提供他们的个人信息,例如密码,银行帐户详细信息(例如PIN号码)和信用卡详细信息。 10、欺骗  

渗透测试

爷,独闯天下 提交于 2019-12-01 20:04:39
渗透测试 1.简介 渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了[漏洞扫描器](https://baike.baidu.com/item/漏洞扫描器/11024468)等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。 ​ 渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意 黑客 的攻击方法,来评估 计算机网络系统 安全的一种评估方法。这个过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析,这个分析是从一个攻击者可能存在的位置来进行的,并且从这个位置有条件主动利用安全漏洞。 ​ 换句话来说,渗透测试是指渗透人员在不同的位置(比如从内网、从外网等位置)利用各种手段对某个特定网络进行测试,以期发现和挖掘系统中存在的漏洞,然后输出渗透测试报告,并提交给网络所有者。网络所有者根据渗透人员提供的渗透测试报告,可以清晰知晓系统中存在的安全隐患和问题。 我们认为渗透测试还具有的两个显著特点是:渗透测试是一个渐进的并且逐步深入的过程

SSRF漏洞的挖掘思路与技巧

守給你的承諾、 提交于 2019-12-01 09:54:51
什么是SSRF? SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。 通俗的说,如果我们将换为与该服务器相连的内网服务器地址会产生什么效果呢?比如127.0.0.1、10.0.0.1、192.168.1.1等等,如果存在该内网地址就会返回1xx 2xx 之类的状态码,不存在就会返回其他的状态码;如果应用程序对用户提供的URL和远端服务器返回的信息没有进行合适的验证和过滤,就可能存在这种服务端请求伪造的缺陷。 到这里先解决两个问题: 1、为什么要请求127.0.0.1、10.0.0.1、192.168.1.1,有什么区别呢? 答:127.0.0.1只是代表你的本机地址,如果该网站只有一个服务器的情况下,是可以访问127.0.0.1的来判断的,但要明确一点,127.0.0.1其实并不是内网地址,内网地址是有严格的地址段的,这是ipv4地址协议中预留的,分别是10.0.0.0--10.255.255.255、172.16.0.0--172.31.255.255 、192.168

漏洞挖掘之信息收集

眉间皱痕 提交于 2019-12-01 06:16:58
对一个网站挖掘的深浅来说就得看你收集的如何,这说明信息收集在漏洞挖掘中是非常的重要的。 子域名收集 子域名收集是最简单的收集手法之一,有很多在线的工具可以直接套用,这里分享几个我经常用的。 开心的时候用用这个扫描器 为什么这么说,因为这是我写的(你生气用的话我怕我屏幕里突然冒出一个拖孩) 1 import requests 2 import threading 3 from bs4 import BeautifulSoup 4 import re 5 import time 6 7 url = input( 'url(如baidu.com): ' ) 8 9 head={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'} 10 11 ip = 'http://site.ip138.com/{}'.format( url ) 12 # domain_url = url.split('.') 13 # domain_url = domain_url[1]+'.'+domain_url[2] 14 domain_url = url 15 domain =

PHP代码审计基础-中级篇

為{幸葍}努か 提交于 2019-11-30 19:25:20
初级篇更多是对那些已有的版本漏洞分析,存在安全问题的函数进行讲解,中级篇更多是针对用户输入对漏洞进行利用 中级篇更多是考虑由用户输入导致的安全问题。 预备工具首先要有php本地环境可以调试代码 总结就是 1. 可以控制的变量【一切输入都是有害的 】 2. 变量到达有利用价值的函数[危险函数] 【一切进入函数的变量是有害的】 程序的本质是变量与函数,我们审计的漏洞也无法摆脱这两个元素,让我们先来看下漏洞形成的条件 漏洞的利用效果最终也取决与函数的功能。所以我们在下面讲述 漏洞挖掘的过程中,也将围绕着这两个元素来展开。 我们提到漏洞形成的两大元素是可控变量,和可控变量能够进入 的函数。那么在漏洞挖掘中,我们也不外乎从这两个方向来开始。 收集可控变量 当代码量巨大的时候我们就需要审计工具来帮我们完成一些敏感函数和变量的追踪 例如常用的审计工具 Seay源代码审计系统,一款开源的审计程序。主要针对php代码审计基于危险函数正则匹配 Rirs,基于语义检测,误报率低。 Fortify SCA 商用软件需要破解支持多种语言 百度都有可以自行下载 SQL注入 对于SQL注入建议正向追踪。在拿到源码时先找到它的过滤注入函数判断 1.如果没有过滤就可以直接注入 2.如过调用了addslashes 就无法对字符型做绕过,当然如果他设置了 Set character_set_client=gbk

Thinkphp 反序列化利用链深入分析

孤街醉人 提交于 2019-11-30 18:09:55
作者:Ethan@知道创宇404实验室 时间:2019年9月21日 原文链接: https://paper.seebug.org/1040/ 前言 今年7月份,ThinkPHP 5.1.x爆出来了一个反序列化漏洞。之前没有分析过关于ThinkPHP的反序列化漏洞。今天就探讨一下ThinkPHP的反序列化问题! 环境搭建 Thinkphp 5.1.35 php 7.0.12 漏洞挖掘思路 在刚接触反序列化漏洞的时候,更多遇到的是在魔术方法中,因此自动调用魔术方法而触发漏洞。但如果漏洞触发代码不在魔法函数中,而在一个类的普通方法中。并且魔法函数通过属性(对象)调用了一些函数,恰巧在其他的类中有同名的函数(pop链)。这时候可以通过寻找相同的函数名将类的属性和敏感函数的属性联系起来。 漏洞分析 首先漏洞的起点为 /thinkphp/library/think/process/pipes/Windows.php 的 __destruct() __destruct() 里面调用了两个函数,我们跟进 removeFiles() 函数。 class Windows extends Pipes { private $files = []; .... private function removeFiles() { foreach ($this->files as $filename) { if

CTF导引(一)

限于喜欢 提交于 2019-11-30 15:11:33
ctf预备知识: 视频: https://www.bilibili.com/video/av62214776?from=search&seid=1436604431801225989 CTF比赛:“夺旗大赛”   比赛形式:     挖掘漏洞,利用漏洞进入对方电脑,拿到关键文件:     /home/www/flag     /home/www/flag     .... 内容:   ctf线上赛:     web 二进制 杂项   ctf线下赛:     web漏洞挖掘与利用- - - - -     pwn漏洞与利用 - - - - -     攻防式 知识储备:   漏洞利用:     二进制代码 - - -木马 shellcode powershell     python pwntools     web机制 php js html   web漏洞挖掘能力:    代码审计     调试环境   pwn漏洞挖掘:     逆向分析     Linux系统知识     漏洞利用脚本编写     远程触发漏洞   服务器安全运维人员     shell     python     linux运维的知识   流量分析能力     协议分析     (“作弊”) CTF比赛的神器:   Kali系统:     nmap - - - - -端口扫描 - - - - - - - -