
代码审计:基础
代码审计基础笔记
1匹黑马
讷言敏行 筑梦踏实
展开
-
PHP代码审计基础:会话认证漏洞
文章目录会话认证漏洞挖掘思路session劫持攻击攻击流程环境搭建开始攻击修复方案session固定攻击攻击流程修复方案会话认证漏洞session固定攻击session劫持攻击挖掘思路遇到比较多的就是在cookie验证上,通常是没有使用session来认证,直接将用户信息保存在cookie中。session劫持攻击session劫持攻击是指黑客劫持目标用户的session id,来获取网站上未经许可的储存信息,特别是窃取目标用户的的cookie数据等,来取得网站的认可。攻击流程原创 2020-12-10 17:33:12 · 457 阅读 · 0 评论 -
PHP代码审计基础:PHP伪协议
文章目录file://协议php://协议data:// 协议file://协议条件:allow_url_fopen = on/offallow_url_include = on/off作用:用于访问本地文件系统,在CTF中通常用来读取本地文件的且不受allow_url_fopen与allow_url_include的影响。include()/require()/include_once()/require_once()参数可控的情况下,如导入为非.php文件,则仍按照php语法进行解析原创 2020-12-10 00:15:40 · 363 阅读 · 0 评论 -
PHP代码审计基础:PHP弱类型
文章目录变量类型操作之间的比较empty()与isset()函数MD5函数strcmpin_array()array_search()swich变量类型标准类型:布尔型、整型、浮点、字符复杂类型:数组、对象特殊类型:资源操作之间的比较字符串与数字字符串与数组数字与数组数字+e+数字以上几点都包含在下面的代码中了:<?php# 字符串与数字var_dump(0=="admin"); # Truevar_dump(0=="1admin"); # Falseva原创 2020-12-09 19:13:00 · 504 阅读 · 0 评论 -
PHP代码审计基础:反序列化漏洞
文章目录序列化与反序列化序列化与反序列化序列化:把对象转换为字节序列的过程,称为对象的序列化。反序列化:把字节序列恢复为对象的过程,称为对象的反序列化。原创 2020-12-08 16:52:44 · 619 阅读 · 0 评论 -
PHP代码审计基础:变量覆盖漏洞
文章目录变量覆盖危害挖掘思路$$变量覆盖extract()变量覆盖变量覆盖变量覆盖,是指变量未初始化,我们定义的参数值,可以替换程序原有的变量值。危害通常结合程序其他的漏洞实现完整的攻击。比如文件上传,覆盖掉原来白名单的列表,导致任意文件上传;用户注册界面控制没有覆盖的变量,导致SQL注入挖掘思路主要还是以下几个函数extract()import_request_variables()parse_str()$$$$变量覆盖测试代码:<?php/*extract(原创 2020-12-06 22:26:02 · 536 阅读 · 1 评论 -
PHP代码审计基础:任意文件读取及删除漏洞
文章目录任意文件读取危害挖掘思路测试代码任意文件删除危害任意文件读取通过提交专门设计的 输入,攻击者就可以在被访问的文件系统中读取或写入任意内容,往往能够使攻击者从服务器上获取敏感文件,正常读取的文件没有经过校验或者校验不严格,用户可以控制这个变量或者变量读取任意文件危害任意文件读取,是Web安全中的高危漏洞,它可以泄露源码,数据库配置文件等等,导致网站处于极度不安全的状态挖掘思路fopen()file_get_contents()fread()fgets()fgetss()原创 2020-12-03 21:02:52 · 1267 阅读 · 0 评论 -
PHP代码审计基础:目录遍历及文件包含漏洞
目录遍历目录穿越(directory traversal)是HTTP开发的一种形式,黑客在一个Web服务器上使用这个软件除了可以访问服务器的根目录外还可以访问目录里面的数据。如果这种企图成功的话,那么黑客就可以查看到这些受限制的文件或者是服务器上的执行命令。Directory traversal攻击时一般是使用Web浏览器。从Web浏览器输入数据的任何服务器都很容易受到这种类型的攻击。危害造成...原创 2020-12-02 16:21:12 · 1185 阅读 · 0 评论 -
PHP代码审计基础:文件上传漏洞
文章目录漏洞原理危害漏洞条件文件上传的可控点挖掘思路相关函数move_uploaded_file漏洞原理文件上传漏洞一些web应用程序中允许上传图片,文本或者其他资源到指定的位置。 文件上传漏洞就是利用网页代码中的文件上传路径变量过滤不严将可执行的文件上传到一个到服务器中,再通过URL去访问以执行恶意代码。危害上传漏洞与SQL注入或 XSS相比 , 其风险更大 , 如果 Web应用程序存在上传漏洞 , 攻击者上传的文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行原创 2020-11-28 17:08:07 · 528 阅读 · 0 评论 -
PHP代码审计基础:CSRF漏洞
文章目录CSRF漏洞危害挖掘思路环境搭建实施攻击攻击条件修复方案CSRFCSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,Use原创 2020-11-28 14:48:03 · 505 阅读 · 0 评论 -
PHP代码审计基础:XSS漏洞
文章目录xss攻击xss的危害挖掘思路反射型xss常见场景存储型xss存储型与反射型的区别DOM型xss什么是DOM型xssDOM型常见属性xss攻击XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内原创 2020-11-28 09:32:18 · 816 阅读 · 0 评论 -
PHP代码审计基础:命令执行漏洞
文章目录命令执行挖掘思路命令执行与代码执行的区别命令执行的类型常见危险函数system()和passthru()exec()shell_exec()过滤函数escapeshellcmd()escapeshellarg()修复方案命令执行1、命令执行(Command Execution)漏洞即黑客可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限2、命令执行漏洞可能造成的原因是Web服务器对用户输入命令安全检测不足,导致恶意代码被执行3、更常见的命令执行漏洞是发生在各种We原创 2020-11-27 15:00:01 · 1692 阅读 · 1 评论 -
PHP代码审计基础:代码执行漏洞
文章目录代码执行漏洞挖掘思路常见危险函数eval()和assert()回调函数动态执行函数preg_replace()代码执行第一个参数第二个参数第三个参数修复方案代码执行漏洞PHP代码执行漏洞可以将代码注入到应用中,最终到webserver去执行。该漏洞主要存在于eval()、assert()、preg_replace()、call_user_func()、array_map()以及动态函数中。挖掘思路用户能够控制函数的输入存在可执行代码的危险函数常见危险函数eval()和asser原创 2020-11-26 17:51:36 · 516 阅读 · 0 评论 -
PHP代码审计基础:宽字节注入及二次注入漏洞
文章目录宽字节注入intval()addslashes()宽字节注入绕过修复方案二次注入二阶注入与一阶注入的区别搭建环境进行注入原理修复方案宽字节注入在使用PHP连接MySQL的时候,当设置“setcharacter_set_client = gbk”时会导致一个编码转换的问题,也就是我们熟悉的宽字节注入,当存在宽字节注入的时候,注入参数里带入% DF%27,即可把(%5C)吃掉。这里需要先说两个函数,这两个函数的作用就是防注入。intval()这里就相当于一个强制转型,即使是特殊符号,也会转原创 2020-11-25 17:51:11 · 715 阅读 · 2 评论 -
PHP代码审计基础:SQL注入漏洞
文章目录SQL注入介绍环境搭建创建数据库编写注入页面数字型注入与字符型注入的区别数字型注入字符型注入注入的利用方式查询数据读写文件SQL注入介绍SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。环境搭建创建数据库create database admin;use admin;c原创 2020-11-25 11:15:39 · 958 阅读 · 0 评论