1.什么是kali?
kali Linux是基于Debian的Linux发行版,最早是设计用于数字取证的操作系统,被称为BackTrack(基于ubuntu),kali集成了精心挑选的渗透测试和安全审计的工具,供渗透测试和安全设计人员使用。也可称之为平台或者框架。其拥有超过300个工渗透测试工具,并且永久免费。
2.为什么要用kali?
kali集成了在渗透测试里的工具,大约三百多个,并且大多数都是开源的
3.悬剑是什么?
悬剑更加便于初级渗透测试,基于Windows10为平台,占用内存较大,不建议使用,有4个版本,3.0,4.0都需要收费以及相关证书才能使用。
4.渗透测试的流程是什么?
确定目标—信息收集—信息分析—工具准备—漏洞扫描 —漏洞验证—信息分析—编写文档
5.对kali进行简单描述。
集成了渗透测试所使用的大量工具,方便专业人士使用
6.黑盒测试和白盒测试的区别是什么?
一个是内部测试,一个是外部测试,也可分为知道源代码和不知道源代码的渗透测试。此时黑盒测试还是传统的渗透测试,而白盒测试就偏向于代码审计。
7.描述一些你知道的信息安全的概念词语。
Web安全,渗透测试,逆向工程,dos攻击,SQL注入,spool攻击,XSS攻击,爆破,反编译,木马,嗅探
8.常用的google语法有哪些用法?
Intext、intitle、allintitle、inurl、site、filetype、link、related、info、define.
9.主动信息收集和被动信息收集采用什么方法?区别是什么?
主动信息收集:通过直接访问、扫描网站,这种流量将流经网站如AWVS、Nessus、OpenVAS、Burpsuite、OWASP ZAP。
被动信息收集:利用第三方的服务对目标进行访问 了解,比如:Google hacking搜索、Shodan、fofa搜索等
区别:主动是指使用工具对目标进行扫描,被动是在网络中正常的人工搜索。
10.请描述OWASP ZAP的工作原理是什么?
OWASP(开放式Web应用程序安全项目),是web application 集成渗透测试和漏洞挖掘工具
ZAP以架设代理的形式来实现渗透性测试,类似于fiddler抓包机制。它将自己置于用户浏览器和服务器中间,充当一个中间人的角色,浏览器所有与服务器的交互都要经过ZAP,这样ZAP就可以获得所有这些交互的信息,并且可以多他们进行分析、扫描,甚至是改包再发送。
11.OWASP TOP 10漏洞有哪些?
1)SQL 注入;2)失效的身份认证;3)敏感数据泄露;4)外部实体(XXE);5)失效的访问控制;6)安全配置错误;7)跨站脚本攻击(XSS);8)不安全的反序列化;9)使用含有已知漏洞的组件;10)不足的日志记录和监控
12.如果是渗透测试一个web网站,我们应该收集哪些信息?
IP、主机系统类型、版本、端口、是否安全机制、后台目录、文件、脚本语言、中间件、服务类型
13.常见的容器有哪些?
Apache(跨平台性强)、Nginx(轻量级,高性能)、Tomcat(Apache公司的,且免费)、IIS(可以添加和删除模块)
14.渗透的信息收集应该从哪些方向收集
DNS收集、敏感目录收集、端口扫描收集、浏览器语法、子域探测、旁站探测、C段查询、整站识别、Waf探测、工具网站
15.layer子域挖掘机、whatweb的工作原理是什么?
Layer子域名挖掘机:是一款域名查询工具,可提供网站子域名查询服务;支持服务接口、暴力搜索、同服挖掘三种模式,其通过字典对目标域名进行访问,如果有那个子域则返回200(访问成功)的一个状态。
Whatweb:是一个web应用程序指纹识别工具。
16.敏感信息如何挖掘?
1)获取域名的whois信息,获取注册者邮箱姓名电话等;2)查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞;3)查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞;4)查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等;5)扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针;6)google hack 进一步探测网站的信息,后台,敏感文件。
17.常见的数据库有哪些?分别有哪些特点?
Access:关系型,具有图形用户界面
MySQL:关系型,热门数据库之一,查询速度快
SQL server:关系型,可伸缩性好与相关软件集成程度高等优点
Oracle:关系型,最流行之一,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。
18.如何探测系统类型?
在确定目标主机在线之后,应当识别他们使用的操作系统。这个工作称为识别操作系统也叫操作系统指纹识别(分为被动式和主动式)使用的工具:p0f、Nmap、banner抓取,1)TTL起始值:Windows xp(及在此版本之前的windows) 128 (广域网中TTL为65-128)Linux/Unix64(广域网中TTL为1-64)某些Unix:255网关:255;2)Nwap -o +目标ip扫描探测;3)大小写敏感
19.whatweb是什么?
Whatweb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等。
20.C段和旁站是什么意思?
C段:C段指的是同一内网段内的其他服务器,每个ip有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。
旁站:旁站是和目标网站在同一台服务器上的其他网站。
21.Apache和Nginx的区别?
1)nginx比apache占用的资源少;2)apache模块多; 3)nginx处理并发能力强。
22.CDN是什么?如何判断?如何绕过?
CDN是内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。
CDN判断:
1)使用各种多地ping的服务,查看对应ip地址是否唯一,如果不唯一多半是使用了CDN;2)使用nslookup进行检测,原理同上,如果返回域名解析对应多个IP地址多半是使用了CDN;3)使用各种在线工具帮助检测目标网站是否使用了CDN。
CDN绕过:
1)查询DNS解析的历史记录;2)查询子域名或根域名的IP;3)利用多地ping工具;4)与网站进行交互;5)全网扫描;6)利用相关库;7)社会工程学
23.nslookup是什么?有什么用?
Nslookup是一个常用的cmd命令
作用:能找出IP对应的主机名,也能找出主机名对应的IP
24.ping是什么,有什么用?
Ping是一个常用的dos命令
用来检查网络是否通畅或网络连接速度
25.CMS是什么?常见的CMS有哪些?请描述哪些CMS有漏洞?
CMS相当于一个网站的模板,用户只需要向其中放入美化后的页面,一个门户级的网站就出炉了。其供建站使用,一旦这个CMS出现问题那么所有使用这个CMS模板的都会出现问题。
常见的CMS:Dedecms (织梦),Discuz,PHPWEB,PHPWind,PHPCMS,ECShop,Dvbbs,SiteWeaver,ASPCMS,帝国,Z-Blog,WordPress等。
漏洞:cookie注入漏洞、Sql注入漏洞、上传漏洞、遍历目录漏洞、留言本写马漏洞
26.请描述shodan和fofa是什么?
Shodan 是用来搜索网络空间中在线设备的,你可以通过 Shodan 搜索指定的设备,或者搜索特定类型的设备,其中 Shodan 上最受欢迎的搜索内容是:webcam,linksys,cisco,netgear,SCADA等等。
hang可以迅速进行网站资产匹配,加快后续工作进程,如漏洞影响范围分析,应用分布统计,应用流行度排名统计等;当前版本覆盖服务数量为27757612个,覆盖网站数量170332964个,覆盖规则数量为587条。
27.什么是子域名探测?为什么要找子域名?域名的结构构成?查找域名的手段以及工具?
子域名探测是查找一个或多个域的子域名的过程。这是信息搜集阶段的重要组成部分;
1)子域名探测可以帮我们发现渗透测试中更多的服务,这将增加发现漏洞的可能性;2)查找一些用户上较少,被人遗忘的子域名,其上运行的应用程序可能会使我们发现关键漏洞;3)通常,同一组织的不同域名/应用程序中存在相同的漏洞
一个完整的域名由2个或2个以上的部分组成,各部分之间用英文的句号“.”来分隔,最后一个“.”的右边部分称为顶级域名(TLD,也称为一级域名),最后一个“.”的左边部分称为二级域名(SLD),二级域名的左边部分称为三级域名,以此类推,每一级的域名控制它下一级域名的分配。
Google和Bing等搜索引擎支持各种高级搜索运算符来优化搜索查询:
1)可以在Google搜索中使用 site:运算符来查找一个域的所有子域名。谷歌还额外支持减号运算符site:*.wikimedia.org -www -store -jobs -uk以排除我们不感兴趣的子域名
2)Bing搜索引擎也支持一些高级搜索运算符。与Google一样,Bing也支持site:运算符,可以帮助您检查除Google搜索之外的其他结果。
有许多第三方服务提供大量的DNS数据,可以用其检索给定域名的子域名:
VirusTotal、DNSdumpster、Sublist3r等。
28.通过IP地址打开一个网站,经历了哪些过程?
当使用IP地址访问网站时,先使用TCP与服务器建立连接,然后再进行http请求,当服务器收到请求时,向客户机进行响应,这就是一个完整的请求过程。
29.通过域名打开一个网站,经历了哪些过程?
当使用域名进行访问时,首先客户机会向DNS服务器请求解析该域名的IP地址,当得到IP地址时才进行与网站服务器的链接和请求。
30.http请求包有哪些部分构成?
一共有四个部分:请求行、请求头行、请求行、请求数据行
31.URL地址由哪几个部分构成?
协议、域名或IP端口、路径、发送给http服务器的数据、锚点
32.请描述Burp是什么工具?有哪些作用?
Burp是用于攻击web应用程序的一个集成了多种功能的黑客工具;可以进行封包的抓取、篡改、漏洞的扫描等。
34.get和post的区别?
Get请求会以明文显示提交的信息,不安全。Post则是通过表单提交,会对数据加密;get请求是直接将参数跟在url的后面进行提交。Post则是写在http的body中。
35.sql注入漏洞手动探测方法
数字型:
这种类型可以使用经典的 and 1=1 和 and 1=2 来判断:
Url 地址中输入 www.xxx.com/abc.php?id= x and 1=1
页面依旧运行正常,继续进行下一步。
Url 地址中继续输入 www.xxx.com/abc.php?id= x and 1=2
页面运行错误,则说明此 Sql 注入为数字型注入。
字符型:
这种类型我们同样可以使用 and ‘1’='1 和 and ‘1’=‘2来判断:
Url 地址中输入 www.xxx.com/abc.php?id= x’ and ‘1’=‘1
页面运行正常,继续进行下一步。
Url 地址中继续输入 www.xxx.com/abc.php?id= x’ and ‘1’='2
页面运行错误,则说明此 Sql 注入为字符型注入。
36.数据库中如何注释
–+;–空格;#;/* */。
37.version()是一个什么函数?
查看当前版本
38.order by 用来做什么?
检测数据表有多少个字段
39.请介绍information_schema数据库相关信息
schemata:保存了当前服务器上的所有数据库名(schema_name)
tables:保存了当前服务器上的所有的数据库名(table_schema)和表名(table_name)
columns:保存了当前服务器上所有的数据库名(table_schema)和表名(table_name)和字段名(column_name)
40.sql注入漏洞原理是什么?
攻击者通过对参数的控制,上传一些恶意的sql语句带入数据库,来实现对数据库的控制。
41.limit 是什么?
Limit是限制内容输出的关键字,可以指定查询结果的显示数目
42.sql注入的前提条件
1)有参数。并且参数可以控制;2)参数带入数据库的查询;3)前端页面对用户所输入的参数没有做合法性的判断
43.union是什么?
Union 联合、合并:将多条查询语句的结果合并成一个结果,union 注入攻击为一种手工测试。
44.group_concat是什么?
group_concat是一个组合函数
45.什么叫 0day 漏洞?
在软件或者其他东西发布后,短时间出现其破解程序的都可以称之为0day漏洞,0day是一个统称,所有破解程序都可以叫0day,已被发现(有可能未被公开),而官方还没有相关补丁的漏洞
46.Payload是什么?有什么作用?
病毒通常会做出一些有害的或者是恶性的动作,在病毒代码中实现这个功能的部分(代码)叫做有效负载(payload)
pyload可以实现任何运行在受害者环境中的程序所能做的事情,并且能够执行动作,包括破坏删除文件,向病毒的作者或者任意的接收者发送敏感信息,以及提供通向被感染计算机的后门。
47.mysql 的网站注入,5.0 以上和 5.0 以下有什么区别?
5.0以下是没有information_schema这个系统表,无法列表名等,只能暴力跑表名
5.0以下是多用户单操作,5.0以上是多用户多操作
48.判断出网站的 CMS 对渗透有什么意义?
查找网上此CMS已曝光的程序漏洞。
如果开源,还能下载相对应的源码进行代码审计。
49.注入时可以不使用 and 或 or 或 xor,直接 order by 开始注入吗?
使用and、or、xor只是为了判断此处是否为注入点,如果确定为注入点的话就可以省去此步步骤直接开始注入。
50.sql 注入有以下两个测试选项,选一个并且阐述不选另一个的理由?
A.demo.jsp?id=2+1 B. demo.jsp?id=2-1
选B,+可能在url地址栏转换为空格,-号不影响
51.虚拟机的几种连接方式及原理?
1)NAT-网络地址转换:默认使用VMnet8
它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后NAT,然后由主机的接口发出。 虚拟网卡和虚拟机处于一个地址段,虚拟机和主机不同一个地址段,主机相当于虚拟机的网关,所以虚拟机能ping到主机的IP,但是主机ping不到虚拟机的IP。
2)Brigde——桥接:默认使用VMnet0
当采用桥接时,VMWare会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare虚拟机,而由VMWare发出的数据包也会通过桥从物理网卡的那端发出。
3)Host-Only——私有网络共享主机:默认使用VMnet1
提供的是主机和虚拟机之间的网络互访。只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问Internet,就要采用这个设置了。Host-only的条件下,VMWare在真正的Windows系统中,建立一块软网卡。这块网卡可以在网络连接中看到,一般是VMNET1,这块网卡的作用就是使Windows看到虚拟机的IP。
52.请简单描述联合注入攻击的步骤?
1)先判断是否存在sql注入漏洞;2)再判断数据表的字段数;3)判定查询输出的位置;4)脱库,报数据库名;5)爆表名;6)爆字段名;7)爆数据
53.http和https的区别?
HTTP的URL以http://开头,而HTTPS的URL以https://开头
HTTP是不安全的,而HTTPS是安全的
HTTP标准端口是80,而HTTPS的标准端口是443
在OSI网络模型中,HTTP工作于应用层,而HTTPS工作在传输层
HTTP无需加密,而HTTPS对传输的数据进行加密
HTTP无需证书,而HTTPS需要认证证书
54.网页在那个地方可能存在注入点?如何判断是否存在注入?
在带有参数的动态网页中可能存在注入点,因为有数据库交互,一般是php、jsp页面。
使用1’ 1 and 1=1 1 and 1=2 判断是否有数字型注入漏洞
使用1’ 1’ and 1=1 --+ 1’ and 1=2 --+判断是否有字符型注入漏洞
55.wpscan是什么?
WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它可以为所有 Web 开发人员扫描 WordPress 漏洞并在他们开发前找到并解决问题。