网络安全面试题
报错注入有哪些函数
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)总结报告及修复方案