网安面试三十道题(持续更新)

91 mof提权

## 是mysql的提权方式,在Linux下不能用,就是利用了 c:/windows/system32/wbem/mof/目录下的nullevt.mof文件,每分钟都会在一个特定的时间去执行一次的特征

sql语句:

## 通过shell上传这个文件,通过sql语句写入这个文件,select 内容 into outfile select 内容 into outfile "c:/c:/windows/system32/wbem/mof/nullevt.mof";

 92 sql注入防范机制

## 1,后端对数据进行严格校验,对数据类型,数据长度,一些SQL注入特殊字符进行过滤转义

## 2,购买安全产品,如防护墙,使用waf

 93 sqlmap常用的参数

-u +url

-r +.txt  --batch  --table  --dbs

--tamper=python脚本文件  ## sqlmap过waf

--os-shell: ## 1、先上传一个二进制文件,该文件时上传文件的功能能。2、基于上一个木马进行执行命令

-p #指定可测试的参数(?page=1&id=2 -p “page,id”)

--dbs: ## 会获取所有的数据库

--current-user: ## 大多数数据库中可检测到数据库管理系统当前用户

--current-db:## 当前连接数据库名

--is-dba:## 判断当前的用户是否为管理

--users:## 列出数据库所有所有用户

--tables -D 数据库名 ## 获取表名

94 sqlmap的os--shell原理?

## 上传了两个木马:一个小马是用来上传文件的,一个大马是通过小马上传文件来执行命令的

95 已知?id=1,怎么去注入,查到他的数据?

## 检查有没有waf

## 判断是不是注入点

## 判断sql注入的类型

## 判断对方的查询字段数 order by

## 判断数据库类型和版本

## 查询数据:库名表名,字段名

## mysql5.1及以上版本存在information_schema库,union select 联合查询这个库的信息,低版本的数据库基本就靠猜解,挂字典暴力猜解。

96 有回显的联合查询注入怎么注入?mysql

union select .. from information_schema.tables

## information_schema查看库名,用的它的哪个表哪个字段,tables\columns...

97 mysql上传webshell需要哪些条件

1)## 数据库拥有root权限或拥有file权限。

(2)## 知道网站的绝对路径。

(3)## PHP的GPC参数为OFF状态。

(4)## 配置文件中开启MYSQL中的一个配置secure_file_priv=“ ”,等于空字符串表示开启,开启之后sql语句才能进行文件读写

## sql server--getshell,执行系统指令

## xp_cmdshell功能开启,才能通过sql语句执行系统命令,sa用户具备开启和使用这个功能的权限

## dbowner:具备使用xp_cmdshell的权限

98 登录页的sql注入怎么测试?测试哪些动作

1、## 注入点及万能密码登录

2、## 登录时,不安全的用户提示:比如提示用户名不存在或者密码验证码错误

3、## 查看登录页面源代码,看是否存在敏感信息泄露

4、## 不安全的验证码

5、## 在注册账号的时候,是否存在不安全的提示

6、## 不安全的密码,在注册账号的时候密码没有限制复杂度

7、## 任意无限注册账号

8、## 在暴力破解的时候不会限制ip,锁定用户

9、## 一个账号可以在多地登录,没有安全提示

10、## 账户登录之后,没有具备超时功能

11、## OA,邮件,默认账号等相关系统,在不是自己注册的情况下,应该在登录之后强制要求更改密码

12、## 逻辑漏洞,任意更改密码文章来源地址:https://www.yii666.com/blog/401424.html

13、## 越权漏洞,纵向、横向越权

14、## 数据包含有风险信息泄露,比如COOKIE

15、## 不安全的数字传输,密码为明文,未使用https证书

16、## 任意文件下载

99 sql server提权的方法?

## 使用xp_cmdshell进行提权、 --- 已得到sql server 的sa权限并且sql server开启外联

## 使用sp_oacreate进行提权、

## 使用SQL Server 沙盒提权

## 利用工具---数据库综合利用工具

100 sql server注入有了解吗,怎么判断是不是sql server?

## 1、根据后缀判断,后缀为aspx的为SqlServer

## 2、根据报错信息判断,一般都会带有Microsoft 字样

## 3、根据系统表判断,and (select count(*)from sysdatabases) >0 ,如果成立的话,则说明它里边含有这个系统表,可以判断为sql server 数据库 sql server 数据库包含三张主要系统表:sysdatabases、sysobjects、syscolumns。

101 xss攻击原理

## 由于程序员写代码时没有对输入和输出做严格控制,从而攻击者可以在有输入的地方插入恶意的js代码,

从而可以获取cookie或者其他信息,以达到攻击目的

102 XSS的危害

1,## 网络钓鱼,包括盗取各类用户账号;

2、## 窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份进一步对网站执行操作;

3、## 劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志、发送电子邮件等;

4、## 强制弹出广告页面、刷流量等;

5、## 网页挂马,进行恶意操作,例如任意篡改页面信息、删除文章等;

6、## 进行大量的客户端攻击,如DDoS攻击;

7、## 获取客户端信息,例如用户的浏览历史、真实IP、开放端口等;

8、## 控制受害者机器向其他网站发起攻击;

9、## 结合其他漏洞,如CSRF漏洞,实施进一步作恶;

10、## 提升用户权限,包括进一步渗透网站;

11、## 传播跨站脚本蠕虫等;

103 XSS的分类

反射性、

存储型、

DOM型

## 有输入,带参数、登录、留言的、更新、地方输出的地方

104 XSS防范

(1)输入过滤,

## 避免 XSS 的方法之一主要是将用户输入的内容进行过滤。对所有用户提交内容进行可靠的输入验证,包括对 URL、查询关键字、POST 数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。(客户端和服务器都要)

(2)输出转义

## 往 HTML 标签进行实体转义或者过滤

(3)使用 HttpOnly Cookie防止javascript操作cookie

105 XSS绕过

前段绕过 ------------- ## 一些前段验证规则可以通过抓包,修改数据包来很容易的通过

后端绕过

## 大小写混合绕过

## 双写绕过

## 事件绕过

## 注释干扰绕过

## 伪协议绕过

## 编码绕过 --- base64,js编码,Unicode,16进制,HTML实体编码,URL编码

## img a script 等绕过

waf 绕过xss

## 编码绕过

## 伪协议绕过

106 文件包含漏洞的原理

## 文件包含漏洞就是使用函数去包含任意文件的时候,当包含的文件来源过滤不严谨的时候,当存在包含恶意文件后,就可以通过这个恶意的文件来达到相应的目的。

## 其实原理就是由于在代码开发的过程中,有时候会遇到相同的代码,不想重复输入,就将代码单独写在一个文件里面,当遇到的时候就直接调用该文件进行运行,而这种方式就会导致客户端可以调用其他的恶意文件,通过恶意文件造成文件包含漏洞。

## 但是前提也是当文件包含的代码文件被当作一个变量来使用,并且能够被用户传入参数,如果没有对该变

量做相应的安全防护,就可能会引发出文件包含漏洞。

107 文件包含的函数

PHP:include() 、include_once()、require()、require_once()

JSP/Servlet:ava.io.file()、java.io.filereader()

ASP:include file、include virtual

108 远程包含与本地包含的区别

## 本地文件包含,通过意思就能够理解,就是在条件允许的情况下,所谓的条件允许也就是安全防护没做到位,通过这个条件对文件路径加 载文件,就形成了本地文件包含。

例如php代码:

<?php

  $filename=$_GET[name];

  include($filename);

?>

远程文件包含漏洞

  ## 远程文件包含漏洞导致的原因和本地文件包含漏洞造成的原因是一样的,只不过远程文件包含漏洞是利用外部的服务器中的文件进行执行,就形成了远程文件包含漏洞

  ## 但是前提是需要在php.ini中的配置选项中allow_url_fopen和allow_url_include为ON

109 CSRF 和 XSS 和 XXE 有什么区别,以及修复方式?

XSS 是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。

修复方式:

## (1)输入过滤,预期输入之外的字符禁止输入,限制数据类型,数据长度

## (2)输出转义,对于HTML实体进行转义,对一些特殊字符进行替换

## (3) 使用http only 防止js操作cookie

CSRF 是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是利用站点对已经身份认证用户的信任,

没有对请求做再次身份确认导致的

修复方式:

## 筛选出需要防范 CSRF 的页面然后嵌入 Token、再次输入密码、检验 Referer

XXE 是 XML 外部实体注入攻击,XML 中可以通过调用实体来请求本地或者远程内容,和远程文件保护类

似,会引发相关安全问题,例如敏感文件读取。

原理:

## xml外部实体攻击,程序在解析输入的xml数据时,解析了攻击者伪造的外部实体而产生的,可以读

取任意文件。

修复方式:

## XML 解析库在调用时严格禁止对外部实体的解析。

110 怎么检测csrf

## 最简单的方法就是抓取一个正常请求的数据包,如果没有Referer字段和token,那么极有可能存在CSRF漏洞。

## 如果有Referer字段,但是去掉Referer字段后再重新提交,如果该提交还有效,那么基本上可以确定存在CSRF漏洞。

## 随着对CSRF漏洞研究的不断深入,不断涌现出一些专门针对CSRF漏洞进行检测的工具,如CSRFTester,CSRF Request Builder等。

111 说一下ssrf,显示页面相同怎么判断是开还是关。

ssrf 通过dnslog日志外带的方式来查看

112 ssrf的绕过手段?

1,“@”符号绕过

## http://www.baidu.com@10.10.10.10与http://10.10.10.10 请求是相同的。

2,点分割符号替换(钓鱼邮件常用于绕过检测)

## 在浏览器中可以使用不同的分割符号来代替域名中的.分割,可以使用。、、.来代替:

http://www。qq。com

http://wwwqqcom

http://www.qq.com

3,本地回环地址的其他表现形式

4,IP的进制转换

5,利用短网址 ---- ## 有在线生成短连接网址

113 通过ssrf进行内网探测,探测了ip和端口之后,如何利用

## 对于能出网的:ip+port 直接访问就可以

## 不能出网的:代理隧道技术,端口转发等让其出网

114 ssrf和csrf有什么区别

## csrf客户端请求伪造,由于用户的不正当操作,使得被攻击者获取了cookie

## ssrf服务端请求伪造,由于服务端的配置问题,提供了从其他服务器获取数据的功能,但没有对其做过多的限制,导致了服务端请求伪造。

115 csrf和xss怎么结合使用

## 构造xss恶意代码,让恶意代码去请求运行CSRF获取信息或者获取cookie的脚本文件

116 文件上传常用的绕过方式
 

前段绕过 -------- ## 抓包,修改数据包

后端绕过

## 抓包修改mime类型

## 黑名单绕过之php3、php5

php结尾在黑名单,但是由于配置不当,php3,php5结尾的文件也能解析

## 黑名单绕过 .htaccess和文件名叠加特性绕过

但是没有限制.htaccess文件的上传,所以我们依然可以使用。

分号配合IIS解析漏洞  ------ 这是一个windows2003上的IIS服务的解析漏洞

冒号配合PHP 和Windows文件命名环境的叠加特性 ------- 在windows直接修改文件名称,肯

定是不让你加冒号的

## 大小写混合绕过

## 空格和点配合绕过

## 基于文件流特性::$DATA来绕过 -- windows下的ntfs文件流特性来玩的

## 点空格点绕过

## 双写绕过

## %00截断 --- 这个属于白名单绕过,这是php语言自身的问题,php低版本存在的漏洞

## 0x00绕过

## 修改文件头来绕过

117 条件竞争:时间竞争,重命名竞争 

时间竞争--- ## 服务器先先允许你上传文件,然后再检测是否合法,不合法再删除,我们要利用的就是在服务器在检查删除前,访问到我们上传的php。

重命名竞争 -- ## 我们上传的文件到了服务器就会重命名,所以我们就要在文件重命名之前访问到我们上传的PHP

118 目录穿越和目录遍历

目录穿越:../../ 后端代码写的不当导致的,没有对输入的数据进行过滤

目录遍历:apache index of/ 服务程序配置问题,开启了目录浏览功能

119 怎么判断文件上传是否成功?

## 看响应结果、一般没有错误,或者提示上传成功,或者看到状态码200 ok,基本是上传成功了,

## 还可以基于自己指定的上传路径来通过工具或者浏览器访问一下看看是否能够连接上文件

120 上传成功了,怎么找到你的上传文件路径在哪里,也就是上传到哪个位置了。

1、看用什么部署起来的,Apache,默认网站存放路径/var/www/html,系统日志存放路径

2、通过其他漏洞读取源码信息、敏感配置文件信息等来寻找路径

3、目录遍历漏洞

4、尝试报错,获取路径

5、看网站的的页面源码

6,上传文件的时候指定上传到哪里,

7,尝试目录爆破

8, 猜 

相关推荐

  1. Vue - 面试持续更新

    2023-12-28 12:16:01       28 阅读
  2. Python每日经典面试四)

    2023-12-28 12:16:01       19 阅读
  3. Python每日经典面试七)

    2023-12-28 12:16:01       24 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-28 12:16:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-28 12:16:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-28 12:16:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-28 12:16:01       20 阅读

热门阅读

  1. ansible加密

    2023-12-28 12:16:01       29 阅读
  2. MySQL 5.7服务器系统变量参考

    2023-12-28 12:16:01       36 阅读
  3. SpringMVC之获取请求参数和域对象共享数据

    2023-12-28 12:16:01       24 阅读
  4. 模型评估指标

    2023-12-28 12:16:01       36 阅读
  5. 郝斌老师 sql 语句笔记

    2023-12-28 12:16:01       31 阅读
  6. dockerfile

    2023-12-28 12:16:01       29 阅读
  7. Hive DDL语法

    2023-12-28 12:16:01       36 阅读