网络安全相关面试题(hw)

网络安全面试题

##### 报错注入有哪些函数

* updatexml注入

  * 载荷注入

  * insert注入

  * updata注入

  * delete注入

* extractvalue()注入
##### 注入防御方法

* 涵数过滤

* 直接下载相关防范注入文件,通过incloud包含放在网站配置文件里面

* PDO预处理,从PHP 5.1开始,php可以通过PDO的prepare预处理函数执行sql语句
##### mysql写webshell注入点需要哪些条件

* 需要知道远程web目录

* 需要知道MySQL root权限

* 需要知道远程目录有写入权限

* 需要数据库开启secure_file_priv 相当于secure_file_priv的值为空,不为空不充许写入webshell (默认不开启,需要修改mysql.ini配置文件)
##### 数据库注入常见的函数

* database()、user()、version()、system()、concat()

  * database这个函数返回当前正在连接的数据库名

  * 提供当前数据库会话的用户名

  * 返回数据库服务器的版本信息

  * 可以用来执行操作系统级别的命令

  * concat这个函数用于连接多个字符串或表达式
##### mysql数据库的账号密码保存在哪里

* 数据库最高权限是root 密码保存在数据库user表中;密码条用musql 5特有的加密,cmd5解密
##### apache的默认路径

* /etc/apache2/httpd.conf 或

* /etc/httpd/conf/httpd.conf
##### apache的日志文件路径

* Linux

  * 错误日志:/var/log/apache2/error.log

  * 访问日志:/var/log/apache2/access.log

* Windows(假设Apache安装在默认的C:\\Apache24目录下)

  * 错误日志:C:\\Apache24\\logs\\error.log

  * 访问日志:C:\\Apache24\\logs\\access.log
##### mysql4与5的注入区别

* MySQL 4版本数据库由于存在着字符转义与不支持字句查询的情况,因此在注入攻击上存在着很大的局限性,只能采用类似Access的方法进行查询猜解。 首先,利用order by获得当前表的字段数,再使用union select联合查询来获取想要的数据库信息。使用union select联合查询数据库时,由于不知道数据库中的表名与字段名,因此只能像Access一样直接用常见表名和字段名进行猜测判断。

* MySQL 5版本由于information_schema库的存在,注入攻击相对来说方便了许多 通过load_file()函数来读取脚本代码或系统敏感文件内容,进行漏洞分析或直接获取数据库连接账号、密码。 通过dumpfile/outfile函数导出获取WebShell。
##### mysql写webshell的语句如何写

*

      union select "<?php @eval($_POST['123']);?>",2 into outfile "C:\\phpStudy\\WWW\\123.php"+--+&Submit=Submit
##### sqlmap的post注入用什么参数

* -r
##### sqlmap的cookie注入加什么参数

* --level ≥2

  * 执行测试的等级(1-5,默认为1)
##### sqlmap检查user-agent和refere头用什么参数

* --level ≥3
##### sqlmap获取表名

* --tables -D 数据库名
##### sqlmap的get注入用什么参数

* -u
##### sqlmap注入显示paybad

* -v 3
##### sqlmap获取当前数据库表名

* --current -db
##### sqlmap当前所有数据库名

* --dbs
##### sqlmap获取字段名

* --columns -T user(表) -D abc(库)
##### sqlmap指定参数注入

* -p
##### sqlmap获取当前用户

* --current-user
##### sqlmap列出数据库所有用户

* --users
##### sqlmap进入命令行产生shell交互

* --os-shell
##### sqlmap绕过waf用什么参数

* --tamper
##### xxs分类

* 反射型

  * 一次性所见即所得,不与数据库交互

* 存储型

  * 交互的数据会被存在数据库里,永久性存储,具有很强的稳定性

* DOM型

  * 不与后台服务器产生数据交互,通过前端的dom节点形成的xss漏洞
##### xss能做什么

* 劫持用户cookie

* 挂马

* 键盘记录

* 钓鱼攻击
##### xss的原理及防御方法

* 原理:参数给变量未过滤,直接把变量输出;在输出的时候未经html实体编码

* 防御:对输入进行过滤;对输出进行html实体编码
##### 怎么判断网站使用的struts2 框架

* 网站URL中是否存在 .action .do结尾的链接
##### 看监控时看过哪些安全设备

* 青藤云--EDR

* 奇安信--天眼

* 安恒明御API攻击平台--API

* 绿盟黑洞--DDOS

* 天阗入侵检测系统--IDS

* 前清入侵防御系统--CPS

* 网络检测与响应--NDR
##### 天眼看监控时看那些东西

* 威胁感知--告警列表--攻击结果
##### 天眼被攻击时有哪些提示

* 看攻击结果:失败、失陷、企图、攻击成功
##### 天眼的五元组由哪几部分

* 源ip地址、目的ip地址、源端口、目的端口、协议
##### 天眼监控设备的功能

* 传感器、沙箱、分析平台
##### 敏感信息收集

* 工具:7kb、破壳、Google back

* 网站查询:微步在线、威胁情报、天眼查、钟馗之眼
##### 反序列化漏洞产生的原理

* serialize() 和 unserialize() 在 PHP内部实现上是没有漏洞的,之所以会产生反序列化漏洞是因为应用程序在处理对象、魔术函数以及序列化相关问题的时候导致的。

* 当传给 unserialize() 的参数可控时,那么用户就可以注入精心构造的 payload。当进行反序列化的时候就有可能会触发对象中的一些魔术方法,造成意想不到的危害。
##### 命令执行测试方法

* \&

* \&\&

* \|

* \|\|
##### 命令执行原理

* 命令执行原理:设计者在编写代码时没有做严格的安全控制,导致攻击者通过接口或相关参数提交"意想不到"的命令,从而让后台进行执行,从而控制整个后台服务器 。
##### 命令执行一般出现在哪些地方

* 只要带参数的地方都可能出现命令执行漏洞

* 常见的路由器、防火墙、入侵检测、自动化运维平台
##### strus2指纹信息特征

* 扩展名:.action或.do(URL显示)

* 流量特征:memberAcecess,getRuntime,println,双引号, 单引号, 等号, 括号之类的符号
##### thinkphp指纹信息特征

* 在url栏随意添加字符报错,出现倒笑脸
##### Spring 框架指纹信息特征

* 通过 wappalyzer 插件识别

* 看 web 应用程序的ico小图标是一个小绿叶子

* 看报错页面, 显示 type=not fonud status=404

* 按 f12 看 X-Application-Context头, 显示 sini-oa-sping-boot:server_db:9096
##### apache shiro 框架指纹信息特征

* 数据返回包中包含 rememberMe=deleteMe 字段
##### JWT指纹信息特征

* 请求头的Authorization字段,值通常以Bearer开头,后跟JWT令牌

* JWT令牌结构三部分组成:

  * Header:包含令牌的类型(JWT)和加密算法

  * Payload(载荷):包含声明(Claims)

  * Signature:加密部分,用于验证JWT完整性
##### XXS漏洞原理

* 参数经变量未经过滤,直接把变量输出,输出未经HTML实体编码
##### XSS如果script、单引号、双引号被过滤怎么绕过

* 换html标签\<img\>\</img\>标签\<video\>\</video\>、大小写双写,注解干扰绕过
##### mssql数据库权限能做什么

* sa--最高权限

* dbowner--做数据差异备份

* publiic--最低权限,可以查看数据库数据
##### SQL注入原理

* 参数未经处理直接带入数据库查询操作
##### SQL注入分类

* 数字型、字符型、搜索型、xx型
##### CSRF原理

* 程序员开发的时候,未对相关页面进行token和referer判断,造成攻击者可构造自己的url地址欺骗目标用户进行点击
##### 如果如果一家公司让你去采购漏洞扫描器,主要看几个点

* 误报率、爬行能力、漏洞率
##### 渗透中,你用过哪些漏洞扫描器

* web扫描:awvs、appscan、netspark、xray

* 系统扫描:天镜、nessus、nmap

* 绿盟扫描器:极光扫描器(系统)
##### nmap中ping扫描用哪个参数

* -sn
##### nmap探测版本信息

* -sV
##### ftp的端口

* 21
##### weblogic端口

* 7001/7002
##### nmap探测操作系统类型及版本

* -O
##### nmap绕过ping扫描(禁ping扫描)

* -Pn
##### nmap探测漏洞

* --script
##### nmap中tcp端口扫描

* -sS
##### nmap中udp端口扫描

* -sU
##### nmap批量扫描目标地址

* -iL IP.txt'
##### nmap将扫描结果生成报告

* -oX(中断不保存)

* -oA(中断后也保存)
##### CSRF、SSRF和重发攻击有什么区别

* CSRF是跨站请求伪造攻击,由客户端发起

* SSRF是服务端请求伪造,由服务器发起

* 重放攻击是将截获的数据包进行重放,达到身份认证等目的
##### windows系统中毒了,应急方法

* 一、检查系统账号安全

  * 1、检查服务器是否有弱口令、可疑账号、隐藏账号、克隆账号、远程管理端口是否对公网开放

  * 2、Win+R打开运行,输入eventvwr.msc打开操作系统日志,查看远离元登陆时间

* 二、检查异常端口、进程

  * 1、使用netstat -ano 检查端口连接情况,是否有远程连接、可疑连接(主要定位ESTABLISHED)

  * 2、根据netstat定位出的pid,再通过tasklist命令进行远程定位tasklist \| findstr PID

  * 3、可以使用 D 盾_web 查杀工具、火绒剑、 XueTr 等工具进行判 断可疑进程(如蓝色、红色进程、没有签名验证信息的进程、没有 描述信息的进程、进程的属主、进程的路径是否合法、 CPU 或内存资源占用长时间过高的进程)

* 三、检查启动项、计划任务、服务

  * 1、检查服务器是否有异常的启动项

  * 2、检查计划任务

  * 3、检查服务自启动

* 四、检查系统相关信息

  * 1、查看系统版本以及补丁信息

  * 2、查找可疑目录及文件

* 五、自动化查杀

  * 用 360、卡巴斯基等病毒查杀系统病毒木马, Web 可以用 D 盾、河马工具查杀 Webshell 后门

  * 工具查杀 Webshell 后门

* 六、日志分析

  * 用 360 星图日志分析工具进行分析攻击痕迹或手工结合 EmEditor 进行日志分析
##### linux系统中毒了,应急方法

* 1、检查用户及密码文件/etc/passwd 、/etc/shadow 是否存在多余帐号,主要看一下帐 号后面是否是 nologin,如果没有 nologin 就要注意;

* 2、通过 who 命令查看当前登录用户(tty 本地登陆 pts 远程登录)、w 命令查看系统 信息, 想知道某一时刻用户的行为、 uptime 查看登陆多久、多少用户,负载;

* 3、修改/etc/profile 的文件,在尾部添加相应显示时间、日期、 ip、命令脚本代码, 这 样输入 history 命令就会详细显示攻击者 ip、时间历史命令等;

* 4、用 netstat -antlp\|more 命令分析可疑端口、 IP 、PID,查看下 pid 所对应的进程文件 路径, 运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号);

* 5、使用 ps 命令, 分析进程 ps aux \| greppid

* 6、使用 vi /etc/inittab 查看系统当前运行级别,通过运行级别找到/etc/rc.d/rc\[0\~6\].d 对应目录是否存在可疑文件;

* 7、看一下 crontab 定时任务是否存在可疑启用脚本;

* 8、使用 chkconfig --list 查看是否存在可疑服务;

* 9、通过 grepawk 命令分析/var/log/secure 安全日志里面是否存在攻击痕迹;

* 10 、chkrootkit 、rkhunter 、Clamav 病毒后门查杀工具对 Linux 系统文件查杀;

* 11、如果有 Web 站点,可通过 D 盾、河马查杀工具进行查杀或者手工对代码按脚本木 马关键字、关键涵数(evel 、system 、shell_exec 、exec 、passthru system 、popen)进行查
##### Windows 和 Linux 的日志文件

* Linux 日志文件通常保存在/var/log 目录

* Windows 存放在 C:\\Windows\\System32\\winevt\\Logs 目录
##### 应急响应流程

* 准备:信息收集,工具准备

* 检测:了解资产情况,明确影响, 尝试进行攻击路径溯源

* 遏制:关闭端口,服务,停止进程,拔网线

* 根除:通过杀毒软件,清除恶意文件,进程

* 恢复:备份,恢复系统正常

* 跟踪:复盘全貌,总结汇报
##### Linux 怎么启动服务、怎么查看服务状态

* 1、查看 linux 系统下所有的服务, 使用命令: chkconfig --list

* 2、chkconfig --level 服务运行级别 服务名称 on\|off

  * 如: chkconfig --level 345 nfs off
##### hw遇见比较多的报警有那些

* 弱口令、命令执行、反序列化、任意文件读取、SQL 注入等
##### 内存马原理

* 原理:就是在 web 组件或者应用程序中,注册一层访问路由,访问者通过这层路由,来执行我们控制器中的代码
##### 内存马清除方式

* 1.利用条件竞争把 shell 内容改写或者清除比较好用 2.重启服务 3.提前占用他的目录名。也可以直接使用工具 Arthas 发现内存马,再使用 D 盾或河马查找。
##### 天眼网络日志检索使用过吗? HW 中印象深刻的告警有哪些呢?

* 印象深刻的主要有:反弹 shell、暴力破解、弱口令、反序列化、命令执行等
##### CS 特证码

* 1、默认端口是 50050

* 2 、请求的 url 为/jquery-3.3.1.min.js,返回包的大小为 5543

* 3、在流量包中可以从域名/IP、指令长度(心跳长度默认 5 秒)、指令结果长度(返回结 果包长度) 、指令执行时间(POST 包与指令包时间间隔)

* 4、cookie 有一串固定的加密值
##### MSF 特证码

* 1 、端口号: msf 默认使用 4444 端口作为反向连接端口

* 2 、数据内容: msf 数据包通常包含特定字符串:("meterpreter" 、"revshell" 等)
##### WINDOWS 安全事件 ID

* 4624 事件 ID 表示成功登陆;

* 4625 事件 ID 表示登陆失败的用户;
##### sturts2 命令执行的流量特征

* sturts2 命令执行数据包或 userage 头里面含有 apache sturts2
##### java 反序列化的流量特征

* java 反序列化一般 post 包 里面含有 xml 语言写的攻击 payload
##### log4j 和 log4j2 有什么区别

* log4j 核心 jar 包就一个;log4j2 的核心 jar 包有两个;2、Apache 对 log4j 和 log4j2 在 groupId 上也做了明确的区分,就是 package 的路径不同了。
##### 设备流量非常大, 怎么快速针对这个设备进行处理分析

* 把设备告警导到 exel 表里面批量分类处理,把攻击 IP 加入到 WAF 或防火墙里面。
##### 监控过程中是否遇到过被攻击成功的事件,是怎么处理的?

* Owasp top 10 随便说一个,处理方式,把攻击 IP 通过防火墙或 Waf 加入黑名单,接着通知 开发部门修复漏洞。
##### 常用的 Webshell 检测工具

* D 盾、河马、Web shell Detector 、PHP Malware Finder
##### Liunx 系统中任何权限都能访问的临时文件位置

* /var/tmp
##### 如何判断是钓鱼邮件

* 1 、以公司某部门的名义,如安全部、综合部, 使用正式的语气, 内容涉及到账号和密 码等敏感信息, 可能带有链接地址或附件,制造紧张氛围,比如 24 小时内今日下班前完整 账号密码修改。

* 2 、看发件人 设备上也会报 IP , 上微步查一下 IP 是不是恶意 IP ,邮件的发件人和内容是不是 正常的业务往来

* 附件放到沙箱里 看看是否有问题

* 有的邮件会提示你邮件由另一个邮箱代发,或者邮箱地址不是本公司的, 再或者邮箱地 址是 qq 或者 163 等个人邮箱的
##### WAF 和 IPS 的区别

* IPS 位于防火墙和网络的设备之间,防火墙可以拦截底层攻击行为,但对应用层 的深层 攻击行为无能为力。 IPS 是对防火墙的补充。综合能力更强一些;WAF 是工作在应用层的防 火墙, 主要对 web 请求/响应进行防护。
##### SQL 注入有哪些常见的特征

* 关键字: select,where、order、union、update、floor、exec、information_schema、 extractvalue 、delete 、insert 、ascii 、table 、from 等

* sql注入函数: user() 、@@version 、ctxsys.drithsx.sn()等针对双引号、单引号、等号之 类的符号, 可能会进行相关的编码操作, 例如 url 编码,需要注意
##### 木马如果是 cs 生成或木马挂了 cdn 如何找到真实域名

* 通过 fofa 里面的 title 或找到域名下面的任意一个文件取出他的 hash 再 通过 fofa 跟据 hash 找真实 IP、ping 一个不存在二级域名(开启了泛域名解析 才可以)、在同一服务器上面是否存在二级域名(如果二级域名和 CDN 的域名 在同一服务器也可以找到真实 IP)、在线 DNS 历史记录查找等
##### 读过的技术书籍(学习的途径)

* 《白帽子讲 web 安全》、《ios 应用逆向工程-第 2 版》、《加密与 解密-第 3 版》、《汇编语言-第 2 版》、《OWASP-MSTG》
##### burpsuite 常用的功能

* 仪表盘、漏洞扫描、代理、测试器、重发器、定序器、编码器、对比器、插件扩展、项目选项、用户选项等
##### 拿到一个待检测的站或给你一个网站,你觉得应该先做什么

* 0确定渗透测试注意事项

  * 签合同、授权书、保密协议

  * 通知客户数据库备份、源代码备份

  * 禁止进行登录扫描

  * 降低扫描线程

  * 增删改查操作手工进行

  * 禁止脱裤、跑数据、传shell

  * 执行命令使用无害命令whoami

  * 不能进行dos及ddos攻击

* 1)信息收集

  * 1.获取域名的 whois 信息,获取注册者邮箱姓名电话等。

  * 2.通过站长之家、明小子、k8、站长之家等查询服务器旁站以及子域名站点,因为主站一般

  * 比较难, 所以先看看旁站有没有通用性的 cms 或者其他漏洞。

  * 3、通过 DNS 域传送漏洞、备份号查询、SSl 证书、APP、微信公众号、暴力破解、DNS 历史记录、 K8 C 段查询、Jsfinder、360 或华为威胁情报、证书序列号获取企业二级域名与 ip。

  * 4 、通过 Nmap 、Wappalyzer、御剑等查看服务器操作系统版本,web 中间件, 看看是否存在已知的漏洞, 比如 IIS ,APACHE,NGINX 的解析漏洞

  * 5.通过 7KB、破壳扫描网站目录结构, 看看是否可以遍历目录, 或者敏感文件泄漏,比如 php探针(phpinfo.php)、管理员备份文件。

  * 6.google hack 进一步探测网站的信息,后台,敏感文件

  * 7、敏感信息收集,如 github 源码、用 7kb、破壳扫源代码泄露(.hg、.git、cvs、svn、.DS_store 源代码泄露)、google hack、接口信息泄露、社工信息泄露、邮箱地址信息收集、网盘搜索、钟馗之眼、天眼查、威胁情报、微步在线等

  * 8、通过 Wappalyzer、御剑工具对网站指纹识别(包括,cms ,cdn,证书等),dns 记录

* 2)漏洞扫描

  * 1)用 AWVS、APPSCAN、长亭科技的 Xray 等扫描器检测 Web 漏洞, 如 XSS,XSRF,sql 注 入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载, 文件包含, 远程命令执行,弱口令, 上传, 编辑器漏洞, 暴力破解等

  * 2)用 namp、天镜、Nessus、极光等扫描系统 ip,对扫描出来的高危漏洞进行测试,如 ms08- 067、ms17-010、ms12-020、ms15-035、ms19-0708、永恒之蓝 2 代、cve-2017-7494(samba)、 cve-2014-6271(破壳) 、php cgi 等相关漏洞验证。

* 3)漏洞利用

  * 利用以上的方式拿到 webshell,或者其他权限

* 4)权限提升

  * 提权服务器,比如 windows 下 mysql 的 udf 提权, serv-u 提权, windows 低版本的漏洞, 如 iis6,pr,巴西烤肉, linux 脏牛漏洞, linux 内核版本漏洞提权, linux 下的 mysql system 提权以 及 oracle 低权限提权

* 5) 日志清理

  * 操作系统、中间件、数据库等日志进行清除

* 6)总结报告及修复方案
相关推荐
活跃的煤矿打工人19 分钟前
【星海saul随笔】Ubuntu基础知识
linux·运维·ubuntu
hgdlip1 小时前
如何快速切换电脑的ip地址
网络·tcp/ip·电脑
fasewer1 小时前
第五章 linux实战-挖矿 二
linux·运维·服务器
楚灵魈1 小时前
[Linux]从零开始的网站搭建教程
linux·运维·服务器
小小不董1 小时前
《Linux从小白到高手》理论篇:深入理解Linux的网络管理
linux·运维·服务器·数据库·php·dba
这可就有点麻烦了2 小时前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
DY009J2 小时前
深度探索Kali Linux的精髓与实践应用
linux·运维·服务器
l1x1n02 小时前
No.2 笔记 | 网络安全攻防:PC、CS工具与移动应用分析
安全·web安全
程序员-珍2 小时前
虚拟机ip突然看不了了
linux·网络·网络协议·tcp/ip·centos
码农小白3 小时前
linux驱动:(22)中断节点和中断函数
linux·运维·服务器