PHP代码审计汇总
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Xss不能直接造成危害,只能通过点击或者其他间接方式来触发该漏洞。 Xss漏洞利用因人而异,乌云G博士,xss发挥的出神入化(远程代码执行、埋雷式攻击)
SQL Injection
1、注入之---无单引号
$contentid= $_GET[‘contentid’]; $r = $this->db>get_one(“SELECT * FROM `”.DB_PRE.“content` WHERE `contentid`=$contentid”);
PHP代码审计
构建安全能力,创造业务价值
目录
1
代码审计之背景介绍
2
代码审计之实战漏洞分享
3
代码审计之发展趋势
2
什么是代码审计?
由具备丰富的编码经验并对安全编码及应用安全具有很深刻理解的安全服务人员, 根据一定的编码规范和标准,针对应用程序源代码,从结构、脆弱性以及缺陷等 方面进行审查,最终输出代码审计报告,完善应用程序,提升自身安全水平
不错的选择。下面我将介绍几款在Windows下可以使 用的WAMP集成环境
代码查找工具
常见漏洞展示
跨站脚本漏洞 命令注入漏洞 文件包含漏洞
CsrБайду номын сангаас漏洞
上传漏洞
XPATH注入漏洞
逻辑漏洞 远程代码执行漏洞 变量覆盖漏洞
目录遍历漏洞
SQL注入漏洞
常见漏洞展示
文件包含包含漏洞 代码执行执行任意代码漏洞 命令执行执行任意命令漏洞 文件系统操作文件(目录)读写删除等漏洞 数据库操作SQL注射漏洞 数据显示 XSS等客服端漏洞 ……
攻击条件:无过滤,直接产生SQL注入攻击。
2、注入之---有单引号(无反转义函数)
$contentid= $_GET[‘contentid’]; $r = $this->db>get_one(“SELECT * FROM `”.DB_PRE.“content` WHERE `contentid`=‘$contentid’”); 攻击条件:PHP未开启gpc魔术开关
怎么做代码审计?(从发现安全漏洞维度出发)
具备哪些知识点 (运行环境搭建、熟悉开发语言、各类函数应用) 了解常用漏洞产生成因 (SQL、xss、上传漏洞、LFI、代码执行、CSRF等等) 漏洞调试 (断点输出、变量跟踪、漏洞关键函数) 高级应用漏洞(奇技淫巧应用:二次注入、截断注入、条件竞争、二次攻击、
3、注入之---有单引号(stripslashes、urldecode、base64_decode、http_referer
$contentid= $_GET[‘contentid’]; //$contentid= stripslashes($contentid); #反转义,去掉\等字符 //$contentid= urldecode(contentid); #url解码方式,如%27则将解码成’进入SQL语句 //$contentid= base64_decode(contentid); #base64解码 //$contentid=$_SERVER[‘HTTP_REFERER’]; # http头默认不转义 $r = $this->db>get_one(“SELECT * FROM `”.DB_PRE.“content` WHERE `contentid`=‘$contentid’”);
THINKSNS某功能高危跨站 http://www.wooyun.org/bugs/wooyun-2012-013686
dedecms某处XSS打后台 http://www.wooyun.org/bugs/wooyun-2014-072397
SQL注入
DedeCMS最新版前台SQL注射
http://www.wooyun.org/bugs/wooyun-2014-063441 Discuz某版本SQL注射漏洞
http://www.wooyun.org/bugs/wooyun-2014-080359 ECSHOP最新全版本通杀注入
http://www.wooyun.org/bugs/wooyun-2014-086052
代码执行
PHPMyWind最新版代码执行漏洞 http://www.wooyun.org/bugs/wooyun-2010-082805
江南科友堡垒机远程代码执行漏洞
http://www.wooyun.org/bugs/wooyun-2010-076864 cmstop 远程代码执行漏洞
http://www.wooyun.org/bugs/wooyun-2014-054693
…...
Xss
<?php $contetnt=$_GET[’content']; echo $content; ?> 当提交http://www.xxx.com/test.php?content=<script>alert(1)</script>即可实现弹窗。 由于通过get方式获取的变量未经过过滤导致直接输出js脚本,通过htmlspecialchars函数进行 Html实体转换输出即可大幅度降低xss产生的可能。
include*
……
……
require*
……
File
fread copy fputs unlink ……
Other
extract parse_str unserialize
……
Xss
Discuz!7.X系列一处问题可导致反射型XSS http://www.wooyun.org/bugs/wooyun-2010-084097
审计代码
✓审查相关危险函数
XSS
SQL injection
echo
mysql_query
Code exec
assert
Command exec
passthru
print*
mysqli_query
eval
System
……
mysqli::query
preg_replace
popen
PDO::query
黑白盒fuzz等) Poc编写(数据包构造、语言类型)
代码审计带来的好处?
发现更多“隐蔽”的安全漏洞 企业合规性要求 提升企业整体安全水平 提升企业安全开发编码规范
目录
1
代码审计之背景介绍
2
代码审计之实战漏洞分享
3
代码审计之发展趋势
5
Wamp
WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速 安装配置Web服务器,一般说来,大家都习惯 于将Apache、MySQL、PHP架设在Linux系 统下,但是,不可否认的是Windows也有其优点,就是易用,界面友好,软件丰富,操作起 来非 常方便,因此对新手来说在Windows平台下使用Apache、MySQL、PHP也确实是一个
SQL Injection
1、注入之---无单引号
$contentid= $_GET[‘contentid’]; $r = $this->db>get_one(“SELECT * FROM `”.DB_PRE.“content` WHERE `contentid`=$contentid”);
PHP代码审计
构建安全能力,创造业务价值
目录
1
代码审计之背景介绍
2
代码审计之实战漏洞分享
3
代码审计之发展趋势
2
什么是代码审计?
由具备丰富的编码经验并对安全编码及应用安全具有很深刻理解的安全服务人员, 根据一定的编码规范和标准,针对应用程序源代码,从结构、脆弱性以及缺陷等 方面进行审查,最终输出代码审计报告,完善应用程序,提升自身安全水平
不错的选择。下面我将介绍几款在Windows下可以使 用的WAMP集成环境
代码查找工具
常见漏洞展示
跨站脚本漏洞 命令注入漏洞 文件包含漏洞
CsrБайду номын сангаас漏洞
上传漏洞
XPATH注入漏洞
逻辑漏洞 远程代码执行漏洞 变量覆盖漏洞
目录遍历漏洞
SQL注入漏洞
常见漏洞展示
文件包含包含漏洞 代码执行执行任意代码漏洞 命令执行执行任意命令漏洞 文件系统操作文件(目录)读写删除等漏洞 数据库操作SQL注射漏洞 数据显示 XSS等客服端漏洞 ……
攻击条件:无过滤,直接产生SQL注入攻击。
2、注入之---有单引号(无反转义函数)
$contentid= $_GET[‘contentid’]; $r = $this->db>get_one(“SELECT * FROM `”.DB_PRE.“content` WHERE `contentid`=‘$contentid’”); 攻击条件:PHP未开启gpc魔术开关
怎么做代码审计?(从发现安全漏洞维度出发)
具备哪些知识点 (运行环境搭建、熟悉开发语言、各类函数应用) 了解常用漏洞产生成因 (SQL、xss、上传漏洞、LFI、代码执行、CSRF等等) 漏洞调试 (断点输出、变量跟踪、漏洞关键函数) 高级应用漏洞(奇技淫巧应用:二次注入、截断注入、条件竞争、二次攻击、
3、注入之---有单引号(stripslashes、urldecode、base64_decode、http_referer
$contentid= $_GET[‘contentid’]; //$contentid= stripslashes($contentid); #反转义,去掉\等字符 //$contentid= urldecode(contentid); #url解码方式,如%27则将解码成’进入SQL语句 //$contentid= base64_decode(contentid); #base64解码 //$contentid=$_SERVER[‘HTTP_REFERER’]; # http头默认不转义 $r = $this->db>get_one(“SELECT * FROM `”.DB_PRE.“content` WHERE `contentid`=‘$contentid’”);
THINKSNS某功能高危跨站 http://www.wooyun.org/bugs/wooyun-2012-013686
dedecms某处XSS打后台 http://www.wooyun.org/bugs/wooyun-2014-072397
SQL注入
DedeCMS最新版前台SQL注射
http://www.wooyun.org/bugs/wooyun-2014-063441 Discuz某版本SQL注射漏洞
http://www.wooyun.org/bugs/wooyun-2014-080359 ECSHOP最新全版本通杀注入
http://www.wooyun.org/bugs/wooyun-2014-086052
代码执行
PHPMyWind最新版代码执行漏洞 http://www.wooyun.org/bugs/wooyun-2010-082805
江南科友堡垒机远程代码执行漏洞
http://www.wooyun.org/bugs/wooyun-2010-076864 cmstop 远程代码执行漏洞
http://www.wooyun.org/bugs/wooyun-2014-054693
…...
Xss
<?php $contetnt=$_GET[’content']; echo $content; ?> 当提交http://www.xxx.com/test.php?content=<script>alert(1)</script>即可实现弹窗。 由于通过get方式获取的变量未经过过滤导致直接输出js脚本,通过htmlspecialchars函数进行 Html实体转换输出即可大幅度降低xss产生的可能。
include*
……
……
require*
……
File
fread copy fputs unlink ……
Other
extract parse_str unserialize
……
Xss
Discuz!7.X系列一处问题可导致反射型XSS http://www.wooyun.org/bugs/wooyun-2010-084097
审计代码
✓审查相关危险函数
XSS
SQL injection
echo
mysql_query
Code exec
assert
Command exec
passthru
print*
mysqli_query
eval
System
……
mysqli::query
preg_replace
popen
PDO::query
黑白盒fuzz等) Poc编写(数据包构造、语言类型)
代码审计带来的好处?
发现更多“隐蔽”的安全漏洞 企业合规性要求 提升企业整体安全水平 提升企业安全开发编码规范
目录
1
代码审计之背景介绍
2
代码审计之实战漏洞分享
3
代码审计之发展趋势
5
Wamp
WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速 安装配置Web服务器,一般说来,大家都习惯 于将Apache、MySQL、PHP架设在Linux系 统下,但是,不可否认的是Windows也有其优点,就是易用,界面友好,软件丰富,操作起 来非 常方便,因此对新手来说在Windows平台下使用Apache、MySQL、PHP也确实是一个