代码审计之SQL注入】的更多相关文章

Preface 这是一篇纪录关于BlueCMSv1.6 sp1两个SQL注入的审计过程,原文来自代码审计之SQL注入:BlueCMSv1.6 sp1 ,主要纪录一下个人在参考博文复现这两个漏洞经过. 参看视频:BlueCMS 1.6 SQL 注入漏洞 工具及环境 bluecms v2.1 sp1 链接:http://pan.baidu.com/s/1dFKLanR 密码:8v1c seay审计系统 链接:http://pan.baidu.com/s/1dENS4KT 密码:rszt 环境 PHP…
代码审计之SQL注入 SQL注入攻击(SQLInjection),是攻击者在表单中提交精心构造的sql语句,改变原来的sql语句,如果web程序没有对提交的数据经过检查,那么就会造成sql注入攻击. SQL注入攻击的一般步骤: 1.攻击者访问有SQL注入漏洞的网站,寻找注入点 2.攻击者构造注入语句,注入语句和程序中的SQL语句结合生成新的sql语句 3.新的sql语句被提交到数据库中进行处理 4.数据库执行了新的SQL语句,引发SQL注入攻击 举个栗子: 1 //执行mysql查询语句 2 3…
近期有很多小伙伴在后台留言想看关于代码审计的文章,其实有关审计的文章网上资源是比较多的,但是从代码审计开始到结束的这类文章却少之甚少. 今天要讲解的ZZZPHP1.61这套审计漏洞比较多,SQL注入漏洞.任意文件删除漏洞.任意文件读取漏洞.远程执行漏洞,当中也借助了漏扫工具,内容涵盖全面,分析透彻,学完定会受益匪浅! 注:文章还是原来的方式,先复现后分析,阅读用时约7分钟. SQL注入漏洞(获取管理员密码) 漏洞复现 payload: GET /search/ HTTP/1.1 Host: 12…
0x00 前言 艰难徘徊这么久,终于迈出第一步,畏畏缩缩是阻碍大多数人前进的绊脚石,共勉. 系统是租车系统,这个系统是Adog师傅之前发在freebuf(http://www.freebuf.com/articles/web/162910.html)的,他审的时候没有发现sql注入,但在评论中有个师傅说有前台sql注入. 那么我就来找找前台的sql注入吧,虽说是java但其实代码审计的点都是通用的,万变不离其宗. 扯远了,这篇文章,算是踏入java代码审计领域的开篇. 0x01 基础环境搭建 源…
0x01 背景          最近在学习PHP代码审计,这里做一个SQL注入总结,是对自己学习知识的总结,也是为自己学习的笔记,方便自己反复翻阅. 0x02 PHP代码审计-SQL注入 挖掘SQL注入漏洞的时候,最简单也最容易被发现的就是什么都没过滤的情况. 代码示例 <?php                                                                                                           …
0x00概况说明 0x01报错注入及利用 环境说明 kali LAMP 0x0a 核心代码 现在注入的主要原因是程序员在写sql语句的时候还是通过最原始的语句拼接来完成,另外SQL语句有Select.Insert.Update和Delete四种类型,注入也是对这四种基本操作的拼接产生的.接下来笔者将以Select为例引导新手初步了解SQL注入.Select是数据库的查询操作,所以常常出现在像文章查看和搜索这些地方,缺陷代码如下: <?php $conn = mysql_connect('loca…
0X01 普通注入 SQL参数拼接,未做任何过滤 <?php $con = mysql_connect("localhost","root","root"); if (!$con){die('Could not connect: ' . mysql_error());} mysql_select_db("test", $con); $id = stripcslashes($_REQUEST[ 'id' ]); $quer…
在新手入门web安全的时候,sql注入往往是最先上手的一个漏洞,它也是危害相当大的一个漏洞,存在此漏洞的话,将有被脱裤的风险. 以下所有代码都是我自己写的,可能有不美观,代码错误等等问题,希望大家可以指正. 漏洞讲解 如图是一个正常的登陆框 点击登陆时,抓包 这时,直接将其丢入sqlmap中,进行注入检测 可以看到直接爆出了系统环境.数据库版本等信息 这里先补充一下前面所用到的代码 login.php logins.php 代码中直接接收了传来的参数,然后直接带入查询数据库,没有进行任何的过滤,…
SQL注入漏洞 SQL注入经常出现在登陆页面.和获取HTTP头(user-agent/client-ip等).订单处理等地方,因为这几个地方是业务相对复杂的,登陆页面的注入现在来说大多数是发生在HTTP头里面的client-ip和x-forward-for. 1.普通注入 普通注入是指最容易利用的SQL注入漏洞,比如直接通过注入union查询就可以查询数据库,一般的SQL注入工具也能够非常好地利用.普通注入有int型和string型 测试环境搭建: 数据库名为test  数据库表名userinf…
0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号.同上一篇,我们需要找一些编码解码的函数来绕过全局防护,本篇介绍base64decode()的情况.漏洞来源于乌云:http://www.wooyun.org/bugs/wooyun-2014-050338 0x02 环境搭建 看背景我们使用了低版本的easytalk程序,版本为X2.4①源码我打包了一份:htt…
0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号.遇到这种情况我们就需要找一些编码解码的函数来绕过全局防护,这篇文章讲urldecode()的情况,同样大牛请自觉绕道~漏洞来源于乌云:http://www.wooyun.org/bugs/wooyun-2014-050338 0x02 环境搭建 看背景我们使用了低版本的easytalk程序,版本为X2.4①源码…
0x01 背景 首先恭喜Seay法师的力作<代码审计:企业级web代码安全架构>,读了两天后深有感触.想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更好的了解这一领域,同时也作为自己的一种沉淀.大牛请自觉绕道~ 0x02 环境搭建 PHP+MySql的集成环境特别多,像PhpStudy.Wamp和Lamp等下一步下一步点下去就成功安装了,网上搜索一下很多就不赘述.这里提的环境是SQLol,它是一个可配置的SQL注入测试平台,包含了简单的SQL注入测试环境,…
sql注入是web安全中最常见,也是平常中危害最大的漏洞. 最近在学习代码审计,拿自己审核的一段代码做个笔记. 1.sql语句拼接可能引起sql注入 很多偷懒的程序员对于没有过滤的参数,直接将其拼接到sql语句中,可能导致命令执行. 如:$sql = "select count(*) as qty from t_user where f_uid='"+$userAccount+"' and f_password='"+$password+"'";…
前言近日闲来无事,快两年都没怎么写代码了,打算写几行代码,做代码审计一年了,每天看代码都好几万行,突然发现自己都不会写代码了,真是很DT.想当初入门代码审计的时候真是非常难,网上几乎找不到什么java审计的资料,摸索了很长时间,搜到的也仅仅讲了点原理,为了给想学java代码审计的朋友门一点入门资料,就开始写<java代码审计连载>系列文章,本文章适合初学者,大牛留下脚印后请绕过,若代码有什么其他问题请忽略,因为那不是重点,此片只讲述SQL注入.本次写了两个简单的页面,一个登陆页面,一个查询id…
0x01 背景 首先恭喜Seay法师的力作<代码审计:企业级web代码安全架构>,读了两天后深有感触.想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更好的了解这一领域,同时也作为自己的一种沉淀.大牛请自觉绕道~ 0x02 环境搭建 PHP+MySql的集成环境特别多,像PhpStudy.Wamp和Lamp等下一步下一步点下去就成功安装了,网上搜索一下很多就不赘述.这里提的环境是SQLol,它是一个可配置的SQL注入测试平台,包含了简单的SQL注入测试环境,…
版本过多只分析大版本和使用人数较多的版本目前使用人数最多的3.2.3.审计时也是发现多个版本未公开漏洞 测试环境:  Mysql5.6/PHP5.5 首先明确的是在不使用PDO做参数绑定时ThinkPHP全版本都可能存在宽字节注入. 黑盒检测方法:输入于头字节大于7F测试数据例如: %88%5c%27%5eupdatexml(1,concat(0x7e,database()),3)%23 (%5e 后跟任意T-SQL语句) 白盒检测方法 全局搜索默认格式是否被设置GBK 'DEFAULT_CHA…
PHP代码审计SQL注入漏洞 0x00 首先明确什么是SQL注入,SQL语句必须掌握. 常见的注入总的来说可以分为两大类:数字型和字符型. 这两类中包含了诸如报错注入,宽字节注入,盲注,二次注入,cookie注入,POST注入等等. 因为我大一已经花了大量时间来研究sql注入,这里就不细写了,有兴趣的师傅可以看看sql注入天书. ps:数字型注入不需要闭合,字符型需要闭合. 0x01 注入的利用方式 1:查询数据 2:读写文件 3: 执行命令 0x02 盲注 在sql注入过程中,sql语句执行的…
0x00 背景 SQL注入是一种常见Web漏洞,所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.本文以代码审计的形式研究SQL注入原理.挖掘形式.防御方案及缺陷. 0x01 SQL注入产生原理 SQL注入与其他常见Web漏洞一样,均是由外部可控的参数引起的.由于程序没有经过任何过滤就将外部可控的参数拼接进入SQL语句,直接放入数据库执行,达到了欺骗服务器执行黑客恶意SQL命令的目的.在这里我们采用DVWA中low级…
代码审计教学计划: 审计项目漏洞Demo->审计思路->完整源码框架->验证并利用漏洞 代码审计教学内容: PHP,JAVA网站应用,引入框架类开发源码,相关审计工具及插件使用 代码审计必备知识点: 环境安装搭建使用,相关工具插件安装使用,掌握前期各种漏洞原理及利用 代码审计开始前准备: 审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等 代码审计挖掘漏洞根本: 可控变量及特定函数,不存在过滤或过滤不严谨存在绕过导致的安全漏洞 定点挖掘功能点: 挖掘文件上传,会…
0x01 背景 现在的WEB应用对SQL注入的防护基本都是判断GPC是否开启,然后使用addlashes函数对单引号等特殊字符进行转义.但仅仅使用这样的防护是存在很多盲点的,接上篇http://www.cnbraid.com/2016/05/10/sql6/,这里介绍另外两种情况.盲点如下:①FILES注入,全局只转义掉GET.POST等传来的参数,遗漏了FILES:②变量覆盖,危险函数:extract().parse_str().$$. 0x02 漏洞分析 FILES注入 FILES注入一般情…
0x01 背景 现在的WEB应用对SQL注入的防护基本都是判断GPC是否开启,然后使用addlashes函数对单引号等特殊字符进行转义.但仅仅使用这样的防护是存在很多盲点的,比如最经典的整型参数传递,也即被带入数据库查询的参数是整型.数组中的key没过滤被带入了查询以及全局过滤了GET.POST但没过滤SERVER或COOKIE引发的注入.所以看似有全局防护,实则隐藏了很多“后门”-盲点如下:①注入点类似id=1这种整型的参数就会完全无视GPC的过滤:②注入点包含键值对的,那么这里只检测了val…
0x01 背景 PHP程序员在开发过程中难免会使用一些字符替换函数(str_replace).反转义函数(stripslashes),但这些函数使用位置不当就会绕过全局的防护造成SQL注入漏洞. 0x03 漏洞分析 str_replace函数的错误使用 第一种情况是写程序时会使用str_replace函数将参数中的单引号.括号等字符替换为空,这样在一些双条件查询的情况就会引发注入问题.缺陷代码如下: <?phprequire_once('common.php');$conn = mysql_co…
0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号.二次注入也是一种比较常见的注入,它涉及到入库和出库.因为有全局转义所以入库的时候: Insert into table (username) values (‘hack\’’); 这样入库后转义符就会消失变成了hack’,这样如果hack’出库被带入查询的话就会成功的引入了单引号导致注入.漏洞来源于乌云:htt…
  0x00 环境准备 五指CMS官网:https://www.wuzhicms.com/ 网站源码版本:五指CMS v4.1.0 UTF-8 开源版 程序源码下载:https://www.wuzhicms.com/download/ 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/coreframe/app/core/admin/copyfrom.php  第22-36行: public function listing() { $siteid = get_cookie('siteid…
  0x00 环境准备 五指CMS官网:https://www.wuzhicms.com/ 网站源码版本:五指CMS v4.1.0 UTF-8 开源版 程序源码下载:https://www.wuzhicms.com/download/ 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/coreframe/app/promote/admin/index.php 第42-60行: public function search() { $siteid = get_cookie('siteid')…
  0x00 环境准备 大米CMS官网:http://www.damicms.com 网站源码版本:大米CMS_V5.5.3试用版(更新时间:2017-04-15) 程序源码下载:http://www.damicms.com/downes/dami.rar 测试网站首页: 0x01 代码分析 1.首先来看一下全局过滤代码/php_safe.php 第24-33行中: //$ArrPGC=array_merge($_GET,$_POST,$_COOKIE); foreach($_GET as $k…
  0x00 环境准备 XIAOCMS官网: http://www.xiaocms.com/ 网站源码版本:XiaoCms (发布时间:2014-12-29) 程序源码下载:http://www.xiaocms.com/download/XiaoCms_20141229.zip 测试网站首页: 0x01 代码分析 1.漏洞文件位置:/admin/controller/database.php  第81-103行: public function repairAction() { $name = …
0X00 总体简介 云优CMS于2017年9月上线全新版本,二级域名分站,内容分站独立,七牛云存储,自定义字段,自定义表单,自定义栏目权限,自定义管理权限等众多功能深受用户青睐,上线短短3个月,下载次数已超过5万次.云优CMS坚信没有排名的网站不是“好网站”,我们将致力于为用户打造全自动SEO解决方案 此次审的版本为云优CMS v1.1.2,更新于2018.08.02. 发现了前台api模块Master.php,V1.php存在多个注入漏洞,与及statics\ueditor\vendor\Lo…
  0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms.com/category/Category/index/cid/1 默认后台:http://127.0.0.1/admin/admin/index 默认用户名:admin  密码自设 测试网站首页: 0x01 代码分析 1.        漏洞文件位置: /application/index/co…
  0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms.com/category/Category/index/cid/1 默认后台:http://127.0.0.1/admin/admin/index 默认用户名:admin  密码自设 测试网站首页: 0x01 代码分析 1.        漏洞文件位置:/application/goods/con…