前言:有人在github上发了一些关于安全方面的一些各公司的面试题,因为自己一直对于自己的能力不甚了解,并且也没有在各大src上挖过洞,就先做下这些题,让自己对自己的能力有一些了解
这里给出这个项目的链接,大家有兴趣也可以自己练习一下
https://github.com/SecYouth/sec-jobs
今天也是刚拿到题,自己先试着做一下,当然,能力非常有限,并不能保证做的是对的,不过我会尽自己的努力去做这些题,如果做的有问题,欢迎大家批评指正
* 2017_ali_spring_1 ``` www.vuln.xxx/show_pic?image=http://image.test.com/1.jpg 上述URL可能引起的安全问题有哪些?详细阐述下,如果存在该漏洞会产生什么危害?通常情况下,你会如何利用?
首先,看到这道题这部分 ?image=http://image.test.com/1.jpg,这部分是引入了其他网站的资源,我们可以测试是否可以引入攻击者控制的网站的资源,比如自己写的一句话木马,
如果没有收到同源策略的限制,那么就可以访问这个一句话,就可以拿到webshell.如果这里受到同源访问策略的限制,那么只能访问http://image.test.com下的资源,那么我们可以通过
加入../等来遍历文件,查看能不能遍历出一些敏感的目录的文件。比如一些配置文件,java项目的话就是web.xml这个文件,php的话就是robots.txt文件,对于windows系统可以试着查看这个文件
../../../../../Windows/system.ini,这里给出windows和linux系统敏感的文件
1.windows系统
c:\boot.ini //查看系统版本
c:\windwos\system32\inetsrc\MetaBase.xml //iis配置文件
c:\Program Files\mysql\my.ini //mysql的配置
c:\Program Files\mysql\data\mysql\user.MYD //mysql root
c:\windows\php.ini //php配置信息
2.linux系统
/etc/passwd
/usr/local/app/apache2/conf/httpd.conf //apache2默认配置文件
/usr/local/app/apache2/conf/extra/httpd-vhosts.conf //虚拟网站设置
/etc/httpd/conf/httpd.conf //apache配置文件* 2017_ali_spring_2
``` TCP和UDP协议的区别?路由器、交换机、防火墙等网络设备在配置ACL时应注意哪些问题?
对于这道题,tcp(面向连接的协议)对我的理解的话,通过三次握手,在双方建立了可靠的连接后,才会传递消息,
而udp(非面向连接)的通信就是广播通讯,它发出的信号,其他同一网段的用户也能收到,发出的消息并不保证可靠性。
对于第二题我得坦白我不会,在网上查了下acl的基本知识,列出来了一些,如果大家有人懂得acl的配置问题,欢迎留言赐教
首先是关于acl的分类:
1、基本访问表控制基于网络地址的信息流,且只允许过滤源地址。
2、扩展访问表通过网络地址和传输中的数据类型进行信息流控制,允许过滤源地址、目的地址和上层应用数据。
然后是acl的匹配规则:
ACL进行匹配时,会一条一条的匹配的,第一条不匹配它又会向下匹配,直到有一条匹配成功,就会退出。
大部分路由器,交换机在ACL语句的最后会有一条拒绝所有,或者放通所有,不同的厂家的不同。
* 2017_ali_spring_3
``` 以下c代码是否包含安全漏洞,如存在漏洞,请说出漏洞如何触发? bool funcA(unsigned int cbSize){ if (cbSize < 1024) { char *buf = new char[cbSize-1]; memset(buf,0,cbSize-1); delete buf; return true; } else return false; } ```
这道题是求助看雪论坛师傅们的,如果给cbSize赋值为0,那么在new char[cbSize-1]的时候,其实就会变为 new char[0-1],在unsigned int 的值无符号的-1就是2^32,所以就变为
new char[2^32],如果cbSize过大
导致内存分配失败,memset(buf,0,cbSize-1);会发生异常或者把正常数据擦成0.