zl程序教程

代码审计 | SQL 注入

  • 代码审计 | SQL 注入

    代码审计 | SQL 注入

    0x01 JDBC 拼接不当造成 SQL 注入JDBC 有两种方法执行 SQL 语句,分别为 PrepareStatement 和 Statement,两个方法的区别在于 PrepareStatement 会对 SQL 语句进行预编译,而 Statement 在每次执行时都需要编译,会增大系统开销。理论上 PrepareStatement 的效率和安全性会比 Statement 好,但不意味着就不

    日期 2023-06-12 10:48:40     
  • SCMS代码审计-SQL注入

    SCMS代码审计-SQL注入

    scms5.0存在sql注入存在问题脚本:s-cms/function/form.php$action接受input的参数如果x>0则执行下面的语句,这里用内联注释组合既可构造语句为:/function/form.php?action=inputPost数据:1/**/and/**/sleep(10)=xxxPost传输查看返回事件返回为十秒可以,用sqlmap进行跑包测试sqlmap -r

    日期 2023-06-12 10:48:40     
  • 【JAVA代码审计】从零开始的JDBC下的SQL注入审计

    【JAVA代码审计】从零开始的JDBC下的SQL注入审计

    Hello,各位小伙伴大家好~这里是你们的小编Monster .今天起开始更新JAVA代码审计相关内容了~首先从大家最熟悉的SQL注入讲起包含以下内容:(1)JDBC下的JAVA代码审计(2)Mybatis下的JAVA代码审计(3)Hibernate下的JAVA代码审计因为是从零开始的代码审计分享所以本套分享会从环境搭建开始讲起~今天的内容是JDBC下的JAVA代码审计,一起来看看吧,Here W

    日期 2023-06-12 10:48:40     
  • 【JAVA代码审计】从零开始的Mybatis框架SQL注入审计(上)

    【JAVA代码审计】从零开始的Mybatis框架SQL注入审计(上)

    hello,各位小伙伴大家好~这里是小编Monster~今天继续分享JAVA代码审计相关内容:(1)JDBC下的SQL注入审计(已完结)(2)Mybatis下的SQL注入审计(3)Hibernate下的SQL注入审计上期分享了JDBC下的注入审计,今天开始分享mybatis框架下的SQL注入审计。由于内容较多,本次分享分为上下两期,本期先来看看Mybatis环境搭建和路由讲解吧~Part.1SSM

    日期 2023-06-12 10:48:40     
  • 【JAVA代码审计】从零开始的Mybatis框架SQL注入审计(下)

    【JAVA代码审计】从零开始的Mybatis框架SQL注入审计(下)

    Hello,各位小伙伴大家好~这里是一名白帽的成长史~上期讲完了SSM框架的搭建和路由分析:【JAVA代码审计】从零开始的Mybatis框架SQL注入审计(上)今天一起来看看Mybatis的注入挖掘吧~Here we go ~Part.1SQL注入审计审计思路上期说到Mybatis的数据库执行操作都存在Mapper文件中,因此我们主要是在Mapper文件中进行漏洞挖掘。Mapper文件基本格式如下

    日期 2023-06-12 10:48:40     
  • 代码审计-Thinkphp3框架EXP表达式SQL注入

    代码审计-Thinkphp3框架EXP表达式SQL注入

    最近看java框架源码也是看的有点头疼,好多还要复习熟悉 还有好多事没做...慢慢熬。         网上好像还没有特别详细的分析 我来误人子弟吧。   0x01 tp3 中的exp表达式 查询表达式的使用格式: $map['字段名'] = array('表达式','查询条件'); 表达式不分大小写,支持的查询

    日期 2023-06-12 10:48:40     
  • 代码审计-thinkphp3.2.3框架漏洞sql注入

    代码审计-thinkphp3.2.3框架漏洞sql注入

    开始复现审计一下tp3和tp5的框架漏洞,当个练习吧。     涉及注入的方法为where() table() delete()等。 环境 tp3.2.3 :       0x01 注入成因 测试代码: public function index2(){ // $data = M('user

    日期 2023-06-12 10:48:40     
  • 代码审计-MetInfo 6.0.0 sql注入漏洞

    代码审计-MetInfo 6.0.0 sql注入漏洞

    首先漏洞存在于app\system\message\web\message.class.php文件中,变量{$_M[form][id]} 直接拼接在SQL语句中,且验证码检测函数是在SQL语句查询之后,这也就造成了我们可以无视验证码检测函数,进行SQL注入。具体问题函数代码如下: $met_fd_ok=DB::get_one("select * from {$_M[table][c

    日期 2023-06-12 10:48:40     
  • PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计

    PHP代码审计示例(一)——淡然点图标系统SQL注入漏洞审计

    今天继续给大家介绍渗透测试相关知识,本文主要内容是PHP代码审计示例——淡然点图标系统SQL注入漏洞审计。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行

    日期 2023-06-12 10:48:40     
  • 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 8.全局防护盲点的总结下篇

    【PHP代码审计】 那些年我们一起挖掘SQL注入 - 8.全局防护盲点的总结下篇

    0x01 背景 现在的WEB应用对SQL注入的防护基本都是判断GPC是否开启,然后使用addlashes函数对单引号等特殊字符进行转义。但仅仅使用这样的防护是存在很多盲点的,接上篇http://www.cnbraid.com/2016/05/10/sql6/,这里介绍另外两种情况。盲点如下:①FILES注入,全局只转义掉GET、POST等传来的参数,遗漏了FILES;②变量覆盖,危险函数:ex

    日期 2023-06-12 10:48:40     
  • 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 7.全局防护盲点的总结上篇

    【PHP代码审计】 那些年我们一起挖掘SQL注入 - 7.全局防护盲点的总结上篇

    0x01 背景 现在的WEB应用对SQL注入的防护基本都是判断GPC是否开启,然后使用addlashes函数对单引号等特殊字符进行转义。但仅仅使用这样的防护是存在很多盲点的,比如最经典的整型参数传递,也即被带入数据库查询的参数是整型、数组中的key没过滤被带入了查询以及全局过滤了GET、POST但没过滤SERVER或COOKIE引发的注入。所以看似有全局防护,实则隐藏了很多“后门”~盲点如下:①

    日期 2023-06-12 10:48:40     
  • 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 5.全局防护Bypass之宽字节注入

    【PHP代码审计】 那些年我们一起挖掘SQL注入 - 5.全局防护Bypass之宽字节注入

    0x01 背景 首先我们了解下宽字节注入,宽字节注入源于程序员设置MySQL连接时错误配置为:set character_set_client=gbk,这样配置会引发编码转换从而导致的注入漏洞。具体原理如下:1.正常情况下当GPC开启或使用addslashes函数过滤GET或POST提交的参数时,黑客使用的单引号 ‘ 就会被转义为: \’;2.但如果存在宽字节注入,我们输入%df%27时首先经过

    日期 2023-06-12 10:48:40     
  • 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 6.全局防护Bypass之一些函数的错误使用

    【PHP代码审计】 那些年我们一起挖掘SQL注入 - 6.全局防护Bypass之一些函数的错误使用

    0x01 背景 PHP程序员在开发过程中难免会使用一些字符替换函数(str_replace)、反转义函数(stripslashes),但这些函数使用位置不当就会绕过全局的防护造成SQL注入漏洞。 0x03 漏洞分析 str_replace函数的错误使用 第一种情况是写程序时会使用str_replace函数将参数中的单引号、括号等字符替换为空,这样在一些双条件查询的情况就会引发注入问题。缺陷代码如

    日期 2023-06-12 10:48:40     
  • 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 3.全局防护Bypass之Base64Decode

    【PHP代码审计】 那些年我们一起挖掘SQL注入 - 3.全局防护Bypass之Base64Decode

    0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号。同上一篇,我们需要找一些编码解码的函数来绕过全局防护,本篇介绍base64decode()的情况。漏洞来源于乌云:http://www.wooyun.org/bugs/wooyun-2014-050338 0x

    日期 2023-06-12 10:48:40     
  • 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 4.全局防护Bypass之二次注入

    【PHP代码审计】 那些年我们一起挖掘SQL注入 - 4.全局防护Bypass之二次注入

    0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号。二次注入也是一种比较常见的注入,它涉及到入库和出库。因为有全局转义所以入库的时候: Insert into table (username) values (‘hack\’’); 这样入库后转义符就会消失变

    日期 2023-06-12 10:48:40     
  • 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 2.全局防护Bypass之UrlDecode

    【PHP代码审计】 那些年我们一起挖掘SQL注入 - 2.全局防护Bypass之UrlDecode

    0x01 背景 现在的WEB程序基本都有对SQL注入的全局过滤,像PHP开启了GPC或者在全局文件common.php上使用addslashes()函数对接收的参数进行过滤,尤其是单引号。遇到这种情况我们就需要找一些编码解码的函数来绕过全局防护,这篇文章讲urldecode()的情况,同样大牛请自觉绕道~漏洞来源于乌云:http://www.wooyun.org/bugs/wooyun-201

    日期 2023-06-12 10:48:40     
  • PHP代码审计】 那些年我们一起挖掘SQL注入 - 1.什么都没过滤的入门情况

    PHP代码审计】 那些年我们一起挖掘SQL注入 - 1.什么都没过滤的入门情况

    0x01 背景 首先恭喜Seay法师的力作《代码审计:企业级web代码安全架构》,读了两天后深有感触。想了想自己也做审计有2年了,决定写个PHP代码审计实例教程的系列,希望能够帮助到新人更好的了解这一领域,同时也作为自己的一种沉淀。大牛请自觉绕道~ 0x02 环境搭建 PHP+MySql的集成环境特别多,像PhpStudy、Wamp和Lamp等下一步下一步点下去就成功安装了,网上搜索一下很多就不

    日期 2023-06-12 10:48:40