渗透面试题(1)

常用渗透流程

信息收集

1. 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等);

2. 网站指纹识别(包括,cms,cdn,证书等),dns记录;

3. whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等);

4. 子域名收集,旁站,C段等;

5. google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等;

6. 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等;

7. 传输协议,通用漏洞,exp,github源码等;

 

漏洞挖掘:

1.  浏览网站,看看网站规模,功能,特点等;

2.  端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等;

3.  XSS,SQL注入,上传,命令注入,CSRF,cookie安全检测,敏感信息,通信数据传输,暴力破解,任意文件上传,越权访问,未授权访问,目录遍历,文件包含,重放攻击(短信轰炸),服务器漏洞检测,最后使用漏扫工具等;

 

漏洞利用&权限提升:

1. mysql提权:serv-u提权,oracle提权;

2. Windows: 溢出提权;

3. Linux:脏牛,内核漏洞提权;

 

清除测试数据&输出报告:

日志、测试数据的清理 总结,输出渗透测试报告,附修复方案;

 

复测:

验证并发现是否有新漏洞,输出报告,归档.

 

常见面试题

1、MySQL注入点,root权限。用工具对目标站直接写入一句话,需要哪些条件?

root权限以及网站的绝对路径。

例如C;\\wwwroot\

2、为何一个MySQL数据库的站,只有一个80端口开放?

1)更改了端口,没有扫描出来

2)站库分离

3)3306端口不对外开放

3、MySQL的网站注入,5.0以上和5.0以下有什么区别?

5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名;

5.0以下是多用户单操作,5.0以上是多用户多操做。

4、MySQL写WebShell有几种方式,利用条件?

1)union select 后写

lines terminated by 写入

lines starting by 写入

fields terminated by 写入

COLUMNS terminated by 写入

2)root权限

GPC关闭,magic_quotes_gpc=On

有绝对路径(读文件可以不用,写文件必须)

没有配置–secure-file-priv

成功条件:有读写的权限,有create、insert、select的权限

5、MySQL常用注释

    #

    --[空格]或者是--+

    /* */

6、MySQL数据库如何增删改查?

增:创建数据库 create database

:删除数据库 drop database  

update 表名 set 字段=值 where 条件 

:查看表内容select * from 表名

7、SQL注入分类?

1)按数据类型分:

整形注入(不需要闭合,不需要注释符号)

字符型注入(需要闭合,需要注释符号)

2)按注入语法分:

联合查询

报错注入

布尔型注入

延时注入

多语句查询注入

8、SQL注入如何防御?

1.对进入数据库的特殊字符('"\尖括号&*;等)进行转义处理,或编码转换。

2.严格限制变量类型,数据库中的存储字段必须对应为int型。

3.数据长度应该严格规定,能在一定程度上防止比较长的SQL注入语句无法正确执行。

4.网站每个数据层的编码统一,建议全部使用UTF-8编码,上下层编码不一致有可能导致一些过滤模型被绕过。

5.严格限制网站用户的数据库的操作权限,给此用户提供仅仅能够满足其工作的权限,从而最大限度的减少注入攻击对数据库的危害。

6.避免网站显示SQL错误信息,比如类型错误、字段不匹配等,防止攻击者利用这些错误信息进行一些判断。

7.在网站发布之前建议使用一些专业的SQL注入检测工具进行检测,及时修补这些SQL注入漏洞。

9、SQL注入常用函数

user() 当前用户名
database() 当前所用数据库
current_user() 当前用户名(可以用来查看权限)
version() 数据库的版本
@@datadir 数据库的路径
load_file() 读文件操作
into outfile()/into dumpfile 写文件操作 

concat(str1,str2..)字符串直接连接
group_concat(str1,str2)使用逗号作为分隔符

10、延时注入如何来判断?

if(ascii(substr(“hello”, 1, 1))=104, sleep(5), 1) concat_ws(sep,str1,str2)

11、报错注入函数有哪些?

floor():向下取整,即舍掉小数部分

extractvalue():对XML文档进行查询的函数

updatexml():是更新xml文档的函数

exp():以e为底的指数函数,会在参数大于709时溢出,报错

12、union all与union的区别是?

去重复

13、当空格被过滤了,你如何绕过?

%09

%0A

%0D

+

/*|--|*/
/*@--|*/
/*?--|/
/*|%20--%20|*/

都可替代空格

14、在登录框注入的时候,输入--+注释符不可以当注释符?

在登录框--+被带入数据库,而--+并非注释符,--空格才是。在URL里可以用是因为会+会自动转码为空格。

15、sqlmap,怎么对一个注入点注入?

1)如果是get型号,直接,sqlmap -u "诸如点网址"

2) 如果是post型诸如点,可以sqlmap -u "注入点网址” --data="post的参数"

3)如果是cookie,X-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用号替换,放到文件里,然后sqlmap -r "文件地址"

posted @ 2020-03-26 15:34  Underwate  阅读(473)  评论(0编辑  收藏  举报