freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

渗透测试 | 黑白盒某门诊挂号漏洞挖掘经验分享
2024-07-19 17:07:29

前言

在信息安全领域,SQL注入和跨站脚本攻击(XSS)是常见的攻击手段,对许多应用程序构成了严重的威胁。本文将详细探讨这些攻击的原理和检测方法,并通过实际代码案例,说明如何通过漏洞挖掘工具、手工测试和Fuzz技术,发现并验证这些安全漏洞。

首先,我们将通过一个具体的SQL注入示例,展示攻击者如何通过构造特定的输入来操控数据库查询,从而获得不正当的信息访问权。其次,我们会深入分析时间盲注的攻击手法,并介绍如何利用数据库响应时间来判断注入语句的执行结果。接着,通过实际代码分析,我们将解释这些漏洞在代码实现中的成因,并提出相应的防护措施。

在接下来的部分中,我们将探讨反射型XSS漏洞,并通过具体的实例展示如何进行有效的XSS漏洞测试。我们还会讨论现代浏览器的内置安全机制以及应用程序层的安全措施,帮助读者更全面地理解和防御XSS攻击。

通过本文的学习,读者将了解SQL注入和XSS攻击的基本原理和检测方法,掌握使用工具和手工测试相结合的漏洞挖掘技巧,提升自身在信息安全领域的专业水平。

SQL注入

EMM这个SQL漏洞Seay审计工具没审计出来,可能是工具代码规则需要更新一下,进入正题,在前期的第一篇文章内容,有介绍过相关SQL注入判断方式,在POST请求体发现一些有关ID或者User等参数的,都可以去挖掘,漏掉了就可能错过了。

patient_id=5'and'1'='1: 这段代码构建了一个始终为真的条件,服务器成功地执行了查询,并返回了正常的结果。这表明服务器没有识别出恶意代码并阻止执行。

image.png

patient_id=5'and'1'='2: 这段代码构建了一个始终为假的条件,服务器没有返回正常结果,而是返回了一个错误信息。这表明服务器可能对查询进行了检查,但它只检测了错误的条件。

image.png

时间盲注

时间型盲注是一种 SQL 注入攻击技术,它利用数据库的响应时间来判断注入语句的真假,从而获取敏感信息。patient_id=5' or sleep(5)--+通过响应时间并没有延迟准确的5秒,首先通过延迟注入,延迟动作是存在,测试延迟注入速度较慢,但适用于 MySQL 5.0.12 以上版本。有时候需要根据具体实际情况可能存在其它一些因素,没有按照语句准确的延迟到5秒。按照语句执行逻辑:OR运算符的优先级高于AND运算符,--+作为一个注释符在查询时并不会执行。
image.png

patient_id=5' and sleep(5)--+这里我换成了and方式是可以准确延迟
image.png

除了SLEEP()函数还有BENCHMARK()``WAITFOR DELAY这类函数可以测试,通常先测试常用函数,不行在考虑使用其它函数。

image.png

注入目的已达成,那么接下来看看代码方面

Application\Runtime\Cache\His\4c76a4f64095c59596389c0565f34682.php

//获取患者档案
function getUserInfo() {
    var patient_id=$("#patient_id").val();
    if(patient_id>0){
        $.post('/Doctor/getUserInfo',{patient_id:patient_id},function (res) {
            if(res.status==0){
                if(res.data.file_id>0){
                    var d=res.data;
                    var txt='<dt class="whiteBg">体重:'+d.weight+'kg<span class="r">身高:'+d.height+'cm</span><br>\n' +
                        '血型:'+d.blood_a+'<span class="r">RH'+d.blood_b+'</span><br>\n' +
                        '左耳听力:'+d.left_ear_hearing+'<span class="r">右耳听力:'+d.right_ear_hearing+'</span><br>\n' +
                        '左眼视力:'+d.left_vision+'<span class="r">右眼视力:'+d.right_vision+'</span></dt>\n' +
                        '<dd>个人史:'+d.personal_info+'</dd>\n' +
                        '<dd>家族史:'+d.family_info+'</dd>\n' +
                        '<dd>身*证:'+d.id_card+'</dd>\n' +
                        '<dd>紧急联系人:'+d.emergency_contact_name+'<span class="r">关系:'+
                        d.emergency_contact_relation_label+'</span></dd>\n' +
                        '<dd>电话:'+d.emergency_contact_mobile+'</dd>';

                    $("#user_file_box").html(txt);
                }else{
# 漏洞 # 渗透测试 # web安全 # 漏洞分析 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录