深信服校园招聘安全攻防F卷
创始人
2024-05-31 22:01:13
0

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,内容为

');?>的文件

然后访问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中写入:

SetHandler application/x-httpd-php

然后再上传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);elsereturn -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

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...