mysql注入审计_PHP代码审计入门(sql注入)

0x01 前言

虽然市面上的代码审计的文章已经一大把了,但是还是决定重复造轮子,打算作为一个系列来写的,近年越来越多的安全研究人员投入到php应用的漏洞挖掘,相对应的代码安全问题也被大量的暴露出来,身处这个时代,我很高兴身边的白帽子前辈不断寻求突破并丰富和完善了代码审计这个概念,学到今日,笔者也想总结自己的一套审计的经验只谈,希望可以帮助新人更加友好的入门这个领域。

0x02 准备

技术准备:PHP基础,MySql

使用工具:Visual Studio

服务器环境:xampp

推荐使用:phpStudy

0x03 脑图8fe0e93aea485bbce659c91a4d36341b.png

脑图主要总结了sql注入、xss跨站脚本攻击、csrf、xsrf、文件操作相关得漏洞、代码&&命令执行、设计缺陷以及SSRF七种常见漏洞,每种漏洞都有很多种的情况与案例,后面的文章会陆续把这些做成案例分享给大家。这篇首先介绍一下SQL注入漏洞,csrf与xsrf我分为了一种。

0x04 SQL注入入门

注入的主要原因是程序员在写sql语句的时候没有根据使用的场景进行过滤导致的外部可以任意操作执行的sql,另外SQL语句有Select、Insert、Update和Delete四种类型,注入也是对这四种基本操作的拼接产生的。接下来笔者将以Select为例引导新手初步了解SQL注入。Select是数据库的查询操作,所以常常出现在一个网站的查看列表,详情,搜索这些地方,缺陷代码如下fb2d33e68dfe1ec2ef90f9fda16c9dcb.png

浏览器输入:http://127.0.0.1/test/test.php?id=1

然后在浏览器输入:http://127.0.0.1/test/test.php?id=1'b9c9c5dc8a7c3f3d83fb260dfede1f2a.png

在次在浏览器输入:http://127.0.0.1/test/test.php?id=1' and '1'='2

这次可以发现没有数据输出了

因为我们执行的语句中  goods_id 不止需要 等于1  并且还需要 string(1) = string(2) 才返回真  但是

string(1)永远不可能等于string(2) 所以条件不满足不返回数据,

从这里我们可以知道,我们外部带入的语句被成功的带入数据库并且查询了,所以可以判断有sql注入。

Mysql注释:

从‘-- ’序列到行尾。请注意‘--’的后面有个空格,注释风格要求第2个破折号后面至少跟一个字符(例如空格、tab、换行符、字符串等等)。

从‘#’字符从行尾。

从/*序列到后面的*/序列。结束序列不一定在同一行中,因此该语法允许注释跨越多行。

下面的例子显示了3种风格的注释:

mysql>SELECT 1+1;    #

mysql>SELECT 1+1;    --

mysql>SELECT 1 /* xxxxxx */ + 1;

获取表字段数:

可以看到页面现在返回的是 正常的说明这表列数大于1,自己加大直到爆错

一直输到8页面爆错了,说明我们这个表的字段数小于8,那么就是说此表的字段为70d758627199ab9c3bd61b33409534dcb.png

页面输出了1,2,3,4,5,6,7 这些都是输出点

分别输出了当前连接的用户,数据, 服务器版本

获取全部的库

获取test库的所有表

获取16进制:

SELECT hex('test');

结果74657374

加上0x+74657374

16进制:0x74657374

http://127.0.0.1/test/test.php?id=-1

union select 1,2,group_concat(table_name) from

information_schema.tables where table_schema=0x74657374

table_schema === 库名16进制编码

table_name    === 表名16进制编码

获取 tdb_admin 表的所有字段

获取 tdb_admin 表数据

0x05 修复方法

$id=@intval($_GET['id']);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值