漏洞

PHP代码审计基础-高级篇

我与影子孤独终老i 提交于 2019-11-30 19:28:02
高级篇主要讲 1. 熟知各个开源框架历史版本漏洞。 2. 业务逻辑漏洞 3. 多线程引发的漏洞 4. 事务锁引发的漏洞 在高级篇审计中有很多漏洞正常情况下是不存在的只有在特殊情况下才有 PHP常用框架 Zendframwork,Yii,Laravel ,、ThinkPHP 这里举例因为thinkphp由国内人开发用户量较多而且历史漏洞也多 Thinkphp历史漏洞很多,对于漏洞形成原因可以自己复现。 篇幅有限只介绍披露漏洞 Query方法 低于3.1.3 有sql注入问题 Order方法 低于 5.x 有sql注入问题 Update方法 低于3.2.3 有sql注入问题 /** * 更新记录 * @access public * @param mixed $data 数据 * @param array $options 表达式 * @return false | integer */ public function update($data,$options) { $this->model = $options['model']; $this->parseBind(!empty($options['bind'])?$options['bind']:array()); $table = $this->parseTable($options['table']); $sql =

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

Pikachu漏洞练习平台实验——RCE(五)

你。 提交于 2019-11-30 18:29:09
1.概述 RCE(Remote Command/Code Execute) 给攻击者向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 远程系统命令执行 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口 比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上 一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。 如果设计者在完成该功能时, 没有做严格的安全控制 ,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器 远程代码执行 同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。 不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。因此,如果需要给前端用户提供操作类的API接口, 一定需要对接口输入的内容进行严格的判断 ,比如实施严格的白名单策略会是一个比较好的方法。你可以通过“RCE”对应的测试栏目,来进一步的了解该漏洞。 2.exec "ping" 下面是直接输入 127.0.0.1 的结果 这里中文出现了乱码,我们可以执行以下步骤 1. 同时按"win + R" ,并输入 regedit 进入注册表 2. 找到 HKEY_CURRENT

文件上传漏洞(pikachu)

喜欢而已 提交于 2019-11-30 18:13:06
文件上传漏洞 文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像,附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断,比如是否是指定的类型、后缀名、大小等等,然后将其按照设计的格式重命名后存储在指定的目录,如果说后台对上传的文件没有进行任何的安全判断或者判断的条件不够严谨,则攻击者可能会上传一些恶意的文件,比如一句话木马,从而导致服务器权限被获取。 防范文件上传漏洞的方法 验证文件类型、后缀名、大小 验证文件的上传方式 对文件进行一定复杂的重命名 不要暴露文件上传后的路径 等等 进入第一关 提示我们只允许上传图片 但是我们打开F12看到 这里的JS调用了一个checkFileExt的方法 这个方法在后面也找得到,大致的意思就是判断文件的扩展名是不是为jpg、png、gif 我们知道这种前端的限制只能起到辅助作用,起不到实质性的作用 我们只需要把之前那个input标签的onchange的属性删除,让上传的时候触发不了这个方法 就可以达到我们上传的目的 然后我们上传我们的php一句话木马 访问路径,测试一下我们的一句话是否能执行 第二个栏目是考MIME的 什么是MIME可以百度一下 php里有一个$_file函数来获取请求头里面的Content-Type 因此,我们只需要用抓包修改请求头里Content-Type的值 就可以绕过验证 第三个栏目

phpstudy后门漏洞复现

爱⌒轻易说出口 提交于 2019-11-30 17:02:40
前段时间phpstudy被人发现某些版本存在后门,许多人就这样被当作肉鸡长达两年之久 后门隐藏在程序自带的 php 的 php_xmlrpc.dll 模块 影响的版本: phpstudy2016 和 2018 在 H:\PhpStudy20180211\PHPTutorial\php\php-5.2.17\ext 找到 php_xmlrpc.dll 用 notepad++ 打开, ctrl+f 搜索 eval 说明这个版本的 phpstudy 是由后门的 用 firefox 访问本地 ip ,用 bp 抓包,用 ctrl+r 送到 repeater 找到 accept-encoding ,把逗号后面的空格删掉, deflate 后面回车换行,加上 accept-charset : c3lzdGVtKCdpcGNvbmZpZycpIDs= ,然后 go (这是 system(‘ipconfig’) ; 的 base64 加密) 漏洞复现成功 加 system(‘path’) ; (分号前面有空格) 安全问题不容小觑啊 来源: https://www.cnblogs.com/shayanboy/p/11605565.html

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 - - - - -端口扫描 - - - - - - - -

2019-9-27:渗透测试,metasploit-framework初接触

和自甴很熟 提交于 2019-11-30 15:02:24
初次利用metasploit漏洞利用框架,入侵获取win7获取权限 目标机系统:windows7,无修复补丁 目标ip地址:192.168.20.131 任务:利用ms17-010,永恒之蓝漏洞,获取目标系统控制权 1,使用metasploit前,需要开启Postgresql数据库,输入命令service Postgresql start开启服务 2,输入命令msfconsole,启动metasploit,终端界面出现msf5就是启动完成 3,首先确定利用插件目录,输入命令search ms17-010,确定扫描插件目录以便使用 可以看到, auxiliary/scanner/smb/smb_ms17_010 , 这个是扫描ms17-010确定是否有该漏洞的脚本所在目录 exploit/windows/smb/ms17_010_eternalblue , 这个是漏洞利用脚本所在目录 4,利用目录都确定之后,开始正式使用,输入use auxiliary/scanner/smb/smb_ms17_010 , 进入扫描目录 5,进入扫描目录之后,可以show options,查看扫描所需要设置的参数 6,设置参数,输入命令,set rhosts 192.168.20.131,确定扫描主机 7,输入exploit,确定目标主机存在可利用漏洞 8,既然确定可以利用了,那就不客气的搞起了

ElasticSearch 命令执行漏洞(CVE-2014-3120)

天涯浪子 提交于 2019-11-30 12:53:14
ElasticSearch简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。 CVE-2014-3120原理 ElasticSearch有脚本执行的功能,使用的引擎为MVEL,该引擎没有做任何的防护,或者沙盒包装,所以可以直接执行任意代码。 由于在ElasticSearch的默认配置下,动态脚本执行功能处于打开状态,导致用户可以构造恶意的请求包,执行任意代码。 漏洞测试 ElasticSearch版本:v1.1.1 利用该漏洞之前,es至少需要存在一条数据,通过以下请求包创建数据: POST /mitian/mitian6/ HTTP/1.1Host: 192.168.0.16:9200Accept: */*Accept-Language: enUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 22{ "name": "kjsx"}

IE浏览器远程代码执行漏洞(CVE-2019-1367)

我与影子孤独终老i 提交于 2019-11-30 12:28:09
【漏洞预警】IE浏览器远程代码执行漏洞(CVE-2019-1367)预警通告 预警编号:NS-2019-0042 2019-09-24 TAG: IE、远程代码执行、CVE-2019-1367 漏洞危害: 高, 攻击者利用此漏洞,可造成远程代码执行。 版本: 1.0 1 漏洞概述 当地时间 9月 23 日,微软官方发布了一则“IE浏览器累积安全更新”,修复了Internet Explorer中的一个远程代码执行漏洞(CVE-2019-1367)。该漏洞存在于脚本引擎处理IE内存对象的过程中,攻击者可利用此漏洞制定恶意网站,当受害者使用IE访问该网站即可执行任意代码,从而获取系统控制权。 目前微软官方已经发布修复补丁,请相关用户及时进行更新。 参考链接: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1367 https://support.microsoft.com/zh-cn/help/4522007/cumulative-security-update-for-internet-explorer 2 影响范围 受影响版本 Internet Explorer 9 Internet Explorer 10 Internet Explorer 11 3漏洞防护 3.1 官方补丁