漏洞挖掘思路

漏洞形成的条件

1、变量可控制  

2、变量可到达有利用价值的函数(危险函数)

漏洞造成的效果

漏洞的利用效果取决于最终的函数功能,变量进入什么样的函数就导致什么样的效果

危险函数

文件包含:包含漏洞

代码执行:执行任意代码漏洞

命令执行:执行任意命令漏洞

文件系统操作:文件(目录)读写删等漏洞

数据库操作:SQL注入漏洞

数据显示:XSS等客户端漏洞

……………………

代码审计的本质

找漏洞==找对应变量与函数

常见的代码审计思路

1、根据敏感关键字回溯参数传递过程  【逆向追踪】

:只需搜索响应敏感关键字

:对程序的整体框架了解不够深入

2、查找可控变量,正向追踪变量传递过程

3、寻找敏感功能点,通读功能点代码

文件上传功能、文件管理功能、登录认证功能、找回密码功能等

4、直接通读全文代码

特别注意:

1、函数集文件(如:functions/common):一些公共函数,提供给其他文件统一调用

2、配置文件(config)【注:来留意参数值是用单引号还是双引号括起来】

3、安全过滤文件

4、index文件  【建议:先将几个核心目录的index文件都简单的读一遍】

优:可更好的了解程序架构以及业务逻辑,能挖到更高质量的漏洞,适合老手

:耗时比较大

最新文章

  1. MySQL 基础及性能优化工具
  2. appserv 设置虚拟路径httpd.conf的配置
  3. AngularJs的UI组件ui-Bootstrap分享(二)——Collapse
  4. JS延时提示框
  5. Logic BIST
  6. Erlang入门(三)——分布式编程
  7. css倒三角的几种实现方式
  8. 用PHP迭代器来实现一个斐波纳契数列(转)
  9. SQLServer在多个表中都增加一个字段的方法
  10. Spring Cloud Alibaba基础教程:Sentinel使用Nacos存储规则
  11. vm12pro 安装winxp过程 记录1(涵个人问题)
  12. HDU1263水果
  13. leetcode169
  14. 《mysql必知必会》学习_第19章_20180809_欢
  15. [leetcode]Simplify Path @ Python
  16. Redis学习---Redis操作之Hash
  17. mysql ga rc beta alpha区别
  18. 04-容器 What, Why, How
  19. “好奇号”火星车和它搭载的软件(来自Erlang程序员的观点)
  20. (转)JAVA中的权限修饰符

热门文章

  1. adb使用wifi无线连接调试Android设备
  2. maven下nutz与servlet报错org.nutz.mvc.NutFilter cannot be cast to javax.servlet.Filter
  3. c#Winform程序调用app.config文件配置数据库连接字符串
  4. Python基础学习之文件(1)
  5. mysql一些常用的查询语句总结
  6. Sublime Text 3预览Markdown
  7. 笨办法学Python(三十二)
  8. 初识QT中的qDebug()
  9. 2018.7.6 js实现点击事件---点击小图出现大图---时间定时器----注册表单验证
  10. cordforce Educational Codeforces Round 47 补题笔记 <未完>