0


【2024最新】我把面试问烂了的Web安全集合总结了一下(带答案)建议收藏_web应用安全实操题

先爆破用户名,再利用被爆破出来的用户名爆破密码。

其实有些站点,在登陆处也会这样提示

所有和数据库有交互的地方都有可能有注入。

24.目标站发现某txt的下载地址为http://www.test.com/down/down.php?file=/upwdown/1.txt,你有什么思路?

这就是传说中的下载漏洞!在file=后面尝试输入index.php下载他的首页文件,然后在首页文件里继续查找其他网站的配置文件,可以找出网站的数据库密码和数据库的地址。

25.甲给你一个目标站,并且告诉你根目录下存在/abc/目录,并且此目录下存在编辑器和admin目录。请问你的想法是?

直接在网站二级目录/abc/下扫描敏感文件及目录。

26.在有shell的情况下,如何使用xss实现对目标站的长久控制?

后台登录处加一段记录登录账号密码的js,并且判断是否登录成功,如果登录成功,就把账号密码记录到一个生僻的路径的文件中或者直接发到自己的网站文件中。(此方法适合有价值并且需要深入控制权限的网络)。

在登录后才可以访问的文件中插入XSS脚本。

27.后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户的密码?

审查元素 把密码处的password属性改成text就明文显示了

28.目标站无防护,上传图片可以正常访问,上传脚本格式访问则403.什么原因?

原因很多,有可能web服务器配置把上传目录写死了不执行相应脚本,尝试改后缀名绕过

29.审查元素得知网站所使用的防护软件,你觉得怎样做到的?

在敏感操作被拦截,通过界面信息无法具体判断是什么防护的时候,F12看HTML体部 比如护卫神就可以在名称那看到内容。

30.在win2003服务器中建立一个 .zhongzi文件夹用意何为?

隐藏文件夹,为了不让管理员发现你传上去的工具。

31、sql注入有以下两个测试选项,选一个并且阐述不选另一个的理由

A. demo.jsp?id=2+1

B. demo.jsp?id=2-1

选B,在 URL 编码中 + 代表空格,可能会造成混淆

32、以下链接存在 sql 注入漏洞,对于这个变形注入,你有什么思路?

demo.do

DATA有可能经过了 base64 编码再传入服务器,所以我们也要对参数进行 base64 编码才能正确完成测试

33、发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 webshell,哪种是优选?

有写入权限的,构造联合查询语句使用using INTO OUTFILE,可以将查询的输出重定向到系统的文件中,这样去写入 WebShell 使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样效率更高 通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传 Shell

34、CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?

XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。

CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。

35、CSRF、SSRF和重放攻击有什么区别?

CSRF是跨站请求伪造攻击,由客户端发起 SSRF是服务器端请求伪造,由服务器发起 重放攻击是将截获的数据包进行重放,达到身份认证等目的

36、说出至少三种业务逻辑漏洞,以及修复方式?

密码找回漏洞中存在

1)密码允许暴力破解、

2)存在通用型找回凭证、

3)可以跳过验证步骤、

4)找回凭证可以拦包获取

等方式来通过厂商提供的密码找回功能来得到密码。

身份认证漏洞中最常见的是

1)会话固定攻击

2) Cookie 仿冒

只要得到 Session 或 Cookie 即可伪造用户身份。

验证码漏洞中存在

1)验证码允许暴力破解

2)验证码可以通过 Javascript 或者改包的方法来进行绕过

37、圈出下面会话中可能存在问题的项,并标注可能会存在的问题?

有写入权限的,构造联合查询语句使用using INTO OUTFILE,可以将查询的输出重定向到系统的文件中,这样去写入 WebShell 使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样效率更高 通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传 Shell

38、给你一个网站你是如何来渗透测试的?在获取书面授权的前提下

39、sqlmap,怎么对一个注入点注入?

  1. 如果是get型号,直接,sqlmap -u “诸如点网址”.)
  2. 如果是post型诸如点,可以sqlmap -u "注入点网址” --data=“post的参数”
  3. 如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用号替换,放到文件里,然后sqlmap -r “文件地址”

40、nmap,扫描的几种方式

41、sql注入的几种类型?

  1. 报错注入
  2. bool型注入
  3. 延时注入
  4. 宽字节注入

42、报错注入的函数有哪些?10个

  1. and extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】
  2. 通过floor报错 向下取整
  3. +and updatexml(1, concat(0x7e,(secect @@version),0x7e),1)
  4. .geometrycollection()select from test where id=1 and geometrycollection((select from(selectfrom(select user())a)b));
  5. .multipoint()select from test where id=1 and multipoint((select from(select from(select user())a)b));
  6. .polygon()select from test where id=1 and polygon((select from(select from(select user())a)b));
  7. .multipolygon()select from test where id=1 and multipolygon((select from(select from(select user())a)b));
  8. .linestring()select from test where id=1 and linestring((select from(select from(select user())a)b));
  9. .multilinestring()select from test where id=1 and multilinestring((select from(select from(select user())a)b));
  10. .exp()select from test where id=1 and exp(~(select * from(select user())a));

43、延时注入如何来判断?

if(ascii(substr(“hello”, 1, 1))=104, sleep(5), 1)

44、盲注和延时注入的共同点?

都是一个字符一个字符的判断

45、如何拿一个网站的webshell?

上传,后台编辑模板,sql注入写文件,命令执行,代码执行, 一些已经爆出的cms漏洞,比如dedecms后台可以直接建立脚本文件,wordpress上传插件包含脚本文件zip压缩包等

46、sql注入写文件都有哪些函数?

  • select ‘一句话’ into outfile ‘路径’
  • select ‘一句话’ into dumpfile ‘路径’
  • select ‘<?php eval($\\_POST\[1\]) ?>’
  • into dumpfile ‘d:\wwwrootbaidu.com\nvhack.php’;

47、如何防止CSRF?

1,验证referer

2,验证token

详细:http://cnodejs.org/topic/5533dd6e9138f09b629674fd

48、owasp 漏洞都有哪些?(2021版)

  • 访问控制失效
  • 加密失败
  • 注入
  • 不安全设计
  • 安全配置错误
  • 脆弱过时组件
  • 识别与认证失败
  • 软件和数据完整性故障
  • 安全日志与监测失败
  • 服务器端请求伪造

49、SQL注入防护方法?

  • 使用安全的API
  • 对输入的特殊字符进行Escape转义处理
  • 使用白名单来规范化输入验证方法
  • 对客户端输入进行控制,不允许输入SQL注入相关的特殊字符
  • 服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除。

50、代码执行,文件读取,命令执行的函数都有哪些?

1)代码执行:

eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function

2)文件读取:

file_get_contents(),highlight_file(),fopen(),read 
file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等

3)命令执行:

system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()

51、img标签除了onerror属性外,还有其他获取管理员路径的办法吗?

src指定一个远程的脚本文件,获取referer

52、img标签除了onerror属性外,并且src属性的后缀名,必须以.jpg结尾,怎么获取管理员路径。

1)远程服务器修改apache配置文件,配置.jpg文件以php方式来解析 AddType application/x-httpd-php .jpg 会以php方式来解析

53、为什么aspx木马权限比asp大?

aspx使用的是.net技术。IIS 中默认不支持,ASP只是脚本语言而已。入侵的时候asp的木马一般是guest权限…APSX的木马一般是users权限。

54、如何绕过waf?

  • 大小写转换法
  • 干扰字符 /!/
  • 编码 base64 unicode hex url ascll
  • 复参数

55、如何向服务器写入webshell?

各种上传漏洞

mysql具有写入权限,用sql语句写入shell

http put方法

56、渗透测试中常见的端口

a、web类(web漏洞/敏感目录) 第三方通用组件漏洞struts thinkphp jboss ganglia zabbix

80 web

80-89 web

8000-9090 web

b、数据库类(扫描弱口令)

1433 MSSQL

1521 Oracle

3306 MySQL

5432 PostgreSQL

c、特殊服务类(未授权/命令执行类/漏洞)

443 SSL心脏滴血

873 Rsync未授权

5984 CouchDB http://xxx:

5984/_utils/

6379 redis未授权

7001,7002 WebLogic默认弱口令,反序列

9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞

11211 memcache未授权访问

27017,27018 Mongodb未授权访问

50000 SAP命令执行

50070,50030 hadoop默认端口未授权访问

d、常用端口类(扫描弱口令/端口爆破)

21 ftp

22 SSH

23 Telnet

2601,2604 zebra路由,默认密码zebra

3389 远程桌面

ALL、端口合计详情

3306 MySQL

3312/3311 kangle主机管理系统登陆

3389 远程桌面

4440 rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网

5432 PostgreSQL

5900 vnc

5984 CouchDB http://xxx:

5984/_utils/

6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网

6379 redis未授权

7001,7002 WebLogic默认弱口令,反序列

7778 Kloxo主机控制面板登录

8000-9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上

8080 tomcat/WDCP主机管理系统,默认弱口令

8080,8089,9090 JBOSS

8083 Vestacp主机管理系统 (国外用较多)

8649 ganglia

8888 amh/LuManager 主机管理系统默认端口

9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞

10000 Virtualmin/Webmin 服务器虚拟主机管理系统

11211 memcache未授权访问

27017,27018 Mongodb未授权访问

28017 mongodb统计页面

50000 SAP命令执行

50070,50030 hadoop默认端口未授权访问

二、各大厂面试题

1.深信服面试题

难度系数:中

一面: 时间太久了,记不太清了,难度相对还是可以的
二面:
~sql注入的原理是什么
– 本质:将用户输入的不可信数据当作代码去执行
– 条件:用户能控制输入;;;原本程序要执行的代码,拼接了用户输入的内容,然后执行
~说说Linux的信号机制?
~Java还记得多少
~python用过哪些库,写过什么项目
//还有一些,时间有点久远,记不太清了。
//说实话,hr貌似水平不是太厉害,而且不仅仅问的web安全知识
//总之大家要放轻松,自信面就行。有几个地方没回答上,以为没过,后来三面打电话过来才知道通过了。
hr面:
~自我介绍
– 讲述自己学习安全的经历
~为什么投深信服
– 自己对网安感兴趣、XXX公司是个大企业;;有很多学长也在XXX工作;;老师在课堂提到过XXX公司不错
~职业规划未来三年、五年
~最有成就的一件事
~还有什么想问的
~对简历信息进行有针对的提问
~想在哪工作
//微信视频面试的

综合来说深信服的面试难度还是可以的,但是时间有点久远,记不太多了

2.启明星辰面试题

难度系数:中

二面:
~自我介绍–>对安全的学习
~sql注入用过哪些函数
– limit()、concat()、group_concat()、Substr()、Ascii()、Left()
– length()、updataxml()等等吧
~你的ATP攻击步骤
~sql注入的原理是什么,怎么防范
– 原理:本质、条件,可以多提一些都有哪些种类(如,显错有哪几种,盲注有哪几种,特别的几种(宽字节、反弹、偏移、DNS、二阶等))
– 防范:第一是正则过滤(安全狗、D盾等等)、第二是数据库预处理等
~挖掘src的主要是什么漏洞
~参加过哪些ctf比赛
~有没有自己写过工具
~还有没有想问的
~对哪些方面比较熟悉
~有没有过app测试的经历
//这也是二面,一面记得也不是太清楚了 反正不是多难
最后一面
~没啥技术面,主要问问期待什么薪资
~什么时候可以上岗

3.奇安信面试题

难度系数:高

一面:
~没有自我介绍
~只要是简历上的基本上都会问
~MVC框架详细说一下
– 谈谈MVC模式 - 阮一峰的网络日志
~详细介绍一下sql注入
– 原理、条件、分类等等
~xss与csrf的区别
– 一个是盗取cookie、一个是利用cookie
~csrf的原理以及如何防范–>这往深入问了
– 访问A站的同时访问了B站(恶意站点)、
– B站脚本让浏览器带着B站准备好的语句去提交A站服务器
– A站没有csrf防护–>被攻击
~还有什么你擅长的但是没有问道的吗 -->xxe
~讲一下xxe的原理
– 本质:简单的说,就是XML外部实体注入攻击
– 原理:DTD部分去读取敏感的信息、将读取到的信息赋值到实体当中、XML部分使用的过程中,将实体内容输出
– 危害:读取任意文件、执行系统命令、探测内网端口、攻击内网网站等
~xxe会用到哪些函数
– simplexml_load_string
~文件上传,详细说说,
– 客户端检测:客户端校验、如何判断是前端检测、突破方法、黑白名单机制
– 服务端检测:服务端检测几个常见的手段、制作图片马(隐写)
~常见的web容器有哪些
–apache、tomcat、IIS、Nginx等
~apache 7.0文件上传黑名单怎么绕过,详细说说
– 改后缀(php. php_ php4 phptml php空格等)
– htaccess文件绕过、win文件流绕过(隐写)
~密码学的对称密码与非对称密码有哪些
– 对称:DES、3DES、AES等
– 非对称:md5、base64等
~md5是不是对称加密
– 不是
~apache可以执行php文件吗
– 可以
~学过哪些数据库,(了解哪些数据库)
– mysql、Oracle、sql servers、access
~说说反序列化的原理
– 序列化:将php中对象、类、数组、变量、匿名函数等,转化为字符串 方便保存到数据库或者文件中(将状态信息保存为字符串)
– 反序列化: 将字符串保存为状态信息
~反序列化会用到哪些函数
– php的unserialize()函数
– 反序列化貌似hr更想问java的
– 更多请百度:WebLogic 反序列化,将这个理解透彻和hr聊问题就不大了
~xxe有没有实战过
~java的多线程
~python有过哪些项目,写过什么东西
~之前python学到什么地方

4.京东面试题

难度系数:中

一面: (安全研发部门面试)
~首先根据简历提问
~问我的一个项目完成的怎么的样了,//简历中的
~Java基础怎么样,
~有没有自己动手写过一些工具
~有没有想过自己以后要写一下扫描器
~sql注入的简单原理及其如何防御
~有没有了解过反序列化 尤其是Java方向的
~数据结构还记得多少
~src主要挖掘一些什么类型的漏洞
~了解的MSF框架怎么样
~数据库主要了解的哪些,主要学的什么数据库
~ssrf的原理及其防御 —> 这有深入
– 定义:简单说,利用某站点发送请求攻击其他目标站点(借刀杀人)
– 聊聊主流防御 - 防外不防内
– 危害:内网渗透(读取敏感文件、探测端口–>6379端口的Redis可以说说)
– 防御:限制请求的端口、过滤返回的信息、黑名单内网ip等

5.知道创宇面试题

难度系数:中

一面:
简单的自我介绍一下吧
了解sql注入吗
本质、 条件、分类、攻击步骤
sql注入怎么防范呢
正则过滤、数据库预处理
数据库预处理怎么突破呢
limit后是不可控的
知道httponly吗
主要是防止xss偷取cookie的
sql注入如何getshell
回答写一句马。mysql有两个两个函数可以写文件 //dumpfile与into_outfile
额外提到6379端口靶场redis貌似就是直接写一句马,菜刀连接
mysql写文件需要什么条件
用到into_outfile或者dumpfile函数
要有写的权限,知道绝对路径,能用单引号,要有file权限
了解内网渗透吗

6.阿里面试题

难度系数:高

笔试:(无聊)
测试面试者综合水平,题目类似公务员(不是技术性得题目)
一面:(简单)
简单了解情况,技术面加hr面
比如自我介绍,大学几年最得意(骄傲)得事
你最擅长的领域,你得优缺点
技术问题就不说了,比较基础
(需要注意的是,比起攻击,更在意的是如何修复、加固)
最后,还有什么要问我得吗
二面:(综合)
简历中的各类项目
什么级别?(国家级、省级等)
怎么样了,进度如何?
遇到哪些问题?怎么解决的?
用到哪些框架、什么语言、多少成员
如何分工,你负责什么?详细说说
以上每一个话题都会继续追问下去,直到你回答不上来
密码学
了解哪些加密算法,说说
对称加密与非对称加密的应用场景
还有一些,想不起来了
因为这一块我学的不是太好,就不多说了
以上每一个话题都会继续追问下去,直到你回答不上来
ctf
负责哪些题型、在团队中的角色
拿过哪些奖项、参加过哪些赛事
说说遇到的一些(印象深的题目)
以上每一个话题都会继续追问下去,直到你回答不上来
除安全之外,还参加过哪些类型比赛?
比如:全国大学生建模比赛
人工智能国赛、大数据国赛等
以上每一个话题都会继续追问下去,直到你回答不上来
你的优点是什么?有什么你认为你能做,别人不能做的?
这里可以回答白盒审计,举例一些自己的cnvd证书(较高的加分项)
以上每一个话题都会继续追问下去,直到你回答不上来
Java语言,
学的怎么样?拿过什么关于java编程算法的奖项?
(面试我得hr是主攻java的)
以上每一个话题都会继续追问下去,直到你回答不上来
计算机网络
说说七层模型、
网络层动态连接的有几个协议、区别是什么(有什么异同)
以上每一个话题都会继续追问下去,直到你回答不上来
web安全
sql注入的防御方法,如何避免出现sql注入
反序列化相关问题(这又联系到了java)
你还会什么?多说说你觉得你会别人不会的?
你的技能里边最擅长什么?
以上每一个话题都会继续追问下去,直到你回答不上来
经历
有哪些较难忘的校园经历?
遇到哪些棘手问题?如何解决的?

大概就这么多内容吧,其中web方向的内容并不太多,更多的是综合知识掌握。

多说一点,阿里相对来说对学历看重一些,名牌985院校本身就是加分项;

此外最好能拿到几本cnvd证书、月榜上几次

附带:稍微总结一下面试的一些难点

1.如何分辨base64

长度一定会被4整除
很多都以等号结尾(为了凑齐所以结尾用等号),当然也存在没有等号的base64
仅有 英文大小写、数字、+ /
base64不算加密,仅仅是一门编码

2.如何分辨MD5 //(特点)

一般是固定长度32位(也有16位) // 16 位实际上是从 32 位字符串中,取中间的第 9 位到第 24 位的部分
容易加密
细微偏差得到最终的值差距很大
md5加密是一种不可逆的加密算法 //不过貌似我国的王小云院士通过碰撞算法破解了
最后,md5经过计算得出128位2进制,正常的32位是二进制转换为16进制
在线网站一般是通过每日加密存储到数据库,与用户查询做对比

3.栅栏密码

类似藏头诗,凯撒密码是栅栏密码的一种

4.sqlmap如何爆出当前库

–current -db

5.namp中区分大小写吗

区分大小写!
—O 操作系统检测 —A 操作系统与版本检测

6.Oracle的默认端口 //相似的问题,mysql,sql server的端口

分别是1521 3306 1433

7.mysql的管理员密码一般存放在哪

//连接登录mysql的 不是网站后台登录密码
mysql库下的user表中—>一般是经过md5加密后的

8.cdn的作用

存数据,缓解主服务器压力
中转数据
一定程度上保护了主服务器 —》 被Ddos后,打了一个假的服务器

9.如何确认网站真实IP

子域名,有可能是真实的IP
国外站点去ping
让服务器给自己发邮件----> 打开邮件–>右侧更多设置---->显示邮件原文---->直接看到

标签: 安全 面试 web安全

本文转载自: https://blog.csdn.net/2401_86951238/article/details/142177958
版权归原作者 2401_86951238 所有, 如有侵权,请联系我们删除。

“【2024最新】我把面试问烂了的Web安全集合总结了一下(带答案)建议收藏_web应用安全实操题”的评论:

还没有评论