二、网安面试题2

 前言

        Hello大家好,今天我继续整理昨天后续的面试题。整理之前,和大家聊聊昨天面试的感受,先是自我介绍,我简单介绍了一下目前所在的学校,然后讲了一下我参加过的比赛,目前在学校还要上多久课,大概什么时候能外出实习。大概就是这些,自我介绍的时候其实还是有点紧张的,这是我的第二个面试,之前也面试过一次,当时问的技术问题基本答不出来,这次,稍微好些,但也有挺多回答的不是很好,一方面是自身技术有限,另一方面就是面对面试还是有些惧怕,会感到紧张,有些明明知道,但是仍然回答的不是很好。本来想着暑假的时候就进行简历的投递,但为什么没有去进行呢?

        有以下两个方面原因,大家可以听听,不知道大家是不是和我有一样的感受。首先,是我暑假正在学习十大常见漏洞,其实也都学的差不多了,大概暑假过了一个月,也都有打过靶场,但我总感觉学的不够,所以没有尝试去投递简历。其次,就是我本身对于面试还是有些恐惧。基于这两个原因,我在暑假期间迟迟没有进行简历的投递。直到了开学,我觉得必须得进行下一步,这才开始了进行投简历。之前听过一句话:先完成,在完美。我感觉这句话就挺适合的我,哈哈哈。因为我感觉我的执行力并不是很高,总是想要先拥有有做好的能力再去做,这样往往就导致计划难以向前继续推进。聊到这里就先停止了,哈哈哈,继续进行面试题的整理。

面试题

今天整理以下几个面试题目:

  1. csrf与xss的区别?

  2. Django框架漏洞你了解吗?,说一个django框架漏洞。(问这个是因为我简历里写了之前我使用django搭建网站的经历,所以面试官对这个做了提问)

  3. sql注入你是怎么绕过的?

  4. ssrf相关协议有哪些?

以下内容是我经过网络搜索整理得出的回答,以及我自己有的面试资料得出的回答,如果有什么问题解答的有问题,欢迎大家在评论区指出。

一、csrf与xss的区别?

  • xss:跨站脚本攻击;
  • csrf:跨站请求伪造脚本攻击;
  • 区别:xss是服务器对用户输入的数据没有进行足够的过滤,导致客户端浏览器在渲染服务器返回的html页面时,出现了预期值之外的脚本语句执行。csrf时服务器端没有对用户提交的数据进行随机值校验,且对http请求包内的refer字段校验不严,导致攻击者可以利用用户的Cokkie信息伪造用户请求发送值服务。

想法:这里我回答的时候大概讲了这两个怎么去利用,但是没有讲出两者之间的区别,所以有点答非所问,之前我也利用过类似csrf的漏洞提交了公益src,就是oauth认证账号缺陷接管漏洞,不知道大家了解过吗?

二、Django框架漏洞你了解吗?说一个django框架的漏洞。

Django<2.0.8任意url跳转漏洞(CVE-2018-14574)

漏洞详情:

Django默认配置下,如果匹配上的url路由中最后一位是/,而用户访问的时候没加/,Django默认会跳转到带/的请求中。(又配置项中的django.middleware.common.CommonMiddleware、APPEND_SLASH来决定)。

在path开头为//example.com的情况下,Django没做处理,导致浏览器认为目的地址是绝对路径,最终造成任意URL跳转漏洞。

该漏洞利用条件是目标URLCONF中存在能匹配上//example.com的规则。

防御方法:

1.白名单严格控制要跳转的域名。

2.限制referer、添加token,这样可以避免恶意用户构造跳转链接进行散播。

这里内容参考:

Django任意URL跳转漏洞(CVE-2018-14574)-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/qq_68163788/article/details/140064953

想法:当时这个我说尚未了解,如果再让我回答,我会说,了解过,我了解过django框架任意url跳转漏洞。低于Django2.0.8版本的会出现此漏洞,该漏洞导致原因是在django默认配置下,如果匹配上的路由中最后一位没有/,那么Django默认会跳转到带/的请求中去。比如在path开头为//example.com的情况下,Django没做处理,导致浏览器认为目的地址是绝对路径,最终造成任意url跳转漏洞。

三、SQL注入你是怎么绕过的?

1、过滤关键字

过滤关键字应该是最常见的过滤了,因为只要把关键字一过滤,你的注入语句基本就不起作用了。
绕过方法:
(1)最常用的绕过方法就是用**//,<>,分割关键字

sele<>ct

se/**/lect

(2)根据过滤程度,有时候还可以用双写绕过

seselectlect

(3)既然是过滤关键字,大小写应该都会被匹配过滤,所以大小写绕过一般是行不通的。

(4)有时候还可以使用编码绕过

url编码绕过、16进制绕过、ASCII编码绕过

2.过滤逗号

(1)简单注入可以使用join方法绕过

原语句:

union select 1,2,3

join语句:

union select * from (select 1)a join (select 2)b join (select 3)

(2)对于盲注的那几个函数substr(),mid(),limit

substr和mid()可以使用from for的方法解决
substr(str from pos for len) //在str中从第pos位截取len长的字符
mid(str from pos for len)//在str中从第pos位截取len长的字符
limit可以用offset的方法绕过
limit 1 offset 1
使用substring函数也可以绕过
substring(str from pos) //返回字符串str的第pos个字符,索引从1开始

3、过滤空格

空格被过滤有以下几种方法绕过:

(1)双空格 
(2)/**/ 
(3)用括号绕过 
(4)用回车代替 //ascii码为chr(13)&chr(10),url编码为%0d%0a(1)双空格 
(2)/**/ 
(3)用括号绕过 
(4)用回车代替 //ascii码为chr(13)&chr(10),url编码为%0d%0a

4、过滤等号

=换成like/rlike/regexp

5、过滤大于小于号

盲注中我们经常需要用到比较符,如果他们被过滤了,我们可以用以下几种方法绕过:

1)greatest(n1,n2,n3,...)		//返回其中的最大值
(2)strcmp(str1,str2)		//当str1=str2,返回0,当str1>str2,返回1,当str1<str2,返回-1
(3)in 操作符
(4)between   and		//选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

6、等价函数绕过

hex()、bin() ==> ascii() 
sleep() ==>benchmark() 
concat_ws()==>group_concat() 
mid()、substr() ==> substring() 
@@user ==> user() 
@@datadir ==> datadir() 
举例:substring()和substr()无法使用时:?id=1+and+ascii(lower(mid((select+pwd+from+users+limit+1,1),1,1)))=74  
或者: substr((select 'password'),1,1) = 0x70 
strcmp(left('password',1), 0x69) = 1 
strcmp(left('password',1), 0x70) = 0 
strcmp(left('password',1), 0x71) = -1

以上内容参考:

【超详细版】SQL注入原理及思路绕过(看这篇就够了)_sql注入order by绕过-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/fly_enum/article/details/135307756

想法:当时说的也不好,下次上面内容能记多少说多少。

四、ssrf相关协议有哪些?

SSRF常用的协议有(这里只是列举了四种个人认为常见的,当然不止有这四种可用):

  • file协议: 在有回显的情况下,利用 file 协议可以读取任意文件的内容
  • dict协议:泄露安装软件版本信息,查看端口,操作内网redis服务等
  • gopher协议:gopher支持发出GET、POST请求。可以先截获get请求包和post请求包,再构造成符合gopher协议的请求。gopher协议是ssrf利用中一个最强大的协议(俗称万能协议)。可用于反弹shell
  • http/s协议:探测内网主机存活

想法:回答到这里的时候脑袋比较蒙了,因为前面问了好几个我回答的支支吾吾的,这个之前明明知道,但是话到嘴边,愣是说不出来。

结束

大概能想起来的面试题就这些,当时也没记录下来,所以目前暂时就这些,看看能不能想起来,明天再进行补充。今天看了以下昨天的文章数据,有一些朋友关注了我,非常感谢大家的支持,后续有什么我学到知识会继续分享。

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值