50代码审计-PHP无框架项目SQL注入挖掘

代码设计分为有框架和无框架

挖掘技巧:随机挖掘,定点挖掘,批量挖掘(用工具帮助扫描探针,推荐工具:fortify,seay系统)。

1.教学计划:

---审计项目漏洞 Demo->审计思路->完整源码框架->验证并利用漏洞

2.教学内容:

---PHP,JAVA 网站应用,引入框架类开发源码,相关审计工具及插件使用

3.必备知识点:

---环境安装搭建使用,相关工具插件安装使用,掌握前期各种漏洞原理及利用

代码审计开始准备

这个目标的程序和版本,当环境(系统,中间件,脚本语言)等信息。因为语言的不同的版本,语言的类型和自身的环境,可能会造成一些漏洞在验证利用的时候有些问题; 比如那个魔术引号,他是hi可以在php的控制面板里面开启或者关闭的,假如网站是没有启用这个过滤,但是自己的环境有这个过滤,在测试验证的时候就会出现误报,

代码审计挖掘漏洞根本

可控变量以及特定的函数(例如xss的echo,文件包含的include),这个函数绝对他出现什么样的漏洞,不存在过滤或者过滤不严谨导致安全漏洞,

这里include函数包含数据库配置文件,需要数据库配置文件才能建立连接。

赋值给变量id,带入到羡下面的sql语句里面去了,

在被mysql_query函数,当作数据库语句执行,必须有这个函数才会被执行为sql语句

然后这里老师自己添加了一个ehco输出函数,输出变量sql,如果id拼接上xss的语句,也输出出来,就又产生一个xss漏洞。

关键字搜索定点挖掘漏洞的思路

要找可控变量:变量接受get post 接受关键字$_GET

特定函数:输出去函数,print啊,数据库操作函数如mysql_query,文件包含函数(include)等等

还有特定关键字:select insert update 这一类sql注入的语句,对应的就是sql注入的漏洞

搜索特定关键字尝试寻找特定漏洞:

如搜索echo print尝试挖掘的xss漏洞

搜索_GET _POST 尝试挖掘的就是安全漏洞

这是一个大概思路,所有的漏洞都会有自己对应的点,根据那些关键字或者特定函数去找,不要局限上面打的比方。

功能点定点挖掘漏洞的思路

比如:我要挖掘文件上传的漏洞,比如文件会员中心有文件上传的操作的地址,抓包分析找到源码中的特定文件代码段,进行文件上传代码分析挖掘。

这个就外面找到上传操作地址,进行一个抓包操作,分析道抓包的地址,提供抓包地址分析到特定源码文件的代码段,在从代码段去分析,看他文件上传在接收和处理过程中也没有安全问题。

通过网站源码cms给到的功能,来分析这个功能有那那些功能,功能又对应那些漏洞,

扩展知识,二次注入

,二次注入利用,骑士cms是一个求职的网站。他有转义过滤,里面可以编写自己的简历的,在编写的似乎,这些信息都会录入数据库,然后找到编写建立的时候,可以自主控制的参数,同时又能拼接到insert 添加函数的语句,用aa'.'finame'=user()#;

插入到语句里面载入到数据库里面就是又变回来原来的语句了

再去查看简历的时候,就引用到了函数,就触发了。

fa

cai

相关推荐
weixin_4723394625 分钟前
高效处理大体积Excel文件的Java技术方案解析
java·开发语言·excel
枯萎穿心攻击1 小时前
响应式编程入门教程第二节:构建 ObservableProperty<T> — 封装 ReactiveProperty 的高级用法
开发语言·unity·c#·游戏引擎
Eiceblue2 小时前
【免费.NET方案】CSV到PDF与DataTable的快速转换
开发语言·pdf·c#·.net
m0_555762903 小时前
Matlab 频谱分析 (Spectral Analysis)
开发语言·matlab
满昕欢喜3 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
浪裡遊4 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
lzb_kkk5 小时前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
好开心啊没烦恼5 小时前
Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy
简佐义的博客5 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang