渗透测试工程师常见35道面试题

问1:关于sql注入,都分为那些?

答1:主要分为两个大类,有回显和无回显。其中无回显的称为盲注,包括时间盲注、DNSlog注入也算一种,布尔盲注;有回显的包括联合注入、报错注入、宽字节注入、堆叠注入、二次注入也算是。

问2:你刚才说的DNSlog注入,用到那些函数?

答2:load_file database() concat() ascii()

问3:如果在实战中遇到了防护,比如sql注入过滤掉了空格怎么办?

答3:用%0a代替,或者%20

问4:那过滤select、union等关键字呢?

答4:可以使用大小写绕过,如果只是替换检测可以使用双写绕过,还可以用注释
符,例如s/**/elect等

问5:sql注入防护方法?

答5:可以使用黑白名单,其中白名单效果好,例如只能是数字,对接收到的数据进行整数化,还可以降低权限,最后是可以进行 预编译

问6:关于文件上传你知道的有什么?

答6:文件上传的话,主要是对上传的文件没有进行相应的防护,从而导致的。一般情况下常与其他的漏洞进行配合,拿到shell。

问7:关于文件上传,如果过滤了文件名(黑名单)怎么办?

答7:如果是windows的话,可以在文件名后面加上.、_,例如cmd.php. || cmd.php_,还可以试一试文件流::$DATA;如果是linux的话,可以使用%00截断

问8:针对apache的文件上传,可以使用什么?

答8:可以使用.htaccess(局部配置文件)文件进行上传,从而对指定的文件进行解析。

问9:关于图片马的制作你知道那些方法?

答9:第一种命令行方式使用copy 1.jpg/b+1.php/a 2.jpg,第二种可以在文件头加入GIF98a,第三种打开图片文件属性,在详细信息哪里加入一句话

问10:蚁剑和冰蝎的区别?

答10:关于冰蝎,流量加密,难以被检测、webshell免杀性好、加密方式:AES加密;关于蚁剑,就和菜刀差不多,没啥区别,我喜欢用哥斯拉,他可以过一些waf,还有自带的插件。

问11:csrf和ssrf你懂多少?

答11:关于csrf是客户端请求伪造,ssrf是 服务器端请求伪造。两者最大的区别是,ssrf可以造成更大的危害。csrf的话主要是利用cookie。防护csrf可以启用HTTPonly、还可以验证referer值(这种不可靠),还可以加token值。

问12:ssrf一般常用的伪协议有哪些,就php来说?

答12:ssrf在php中的伪协议主要有filter、file、ftp、http、https、php、data、glob、phar、expect。其中expect需要扩展

问13:ssrf可以造成那些危害?

答13:可以对外网、服务器所在内网、本地进行 端口扫描,获取一些服务的版本信息;攻击运行在内网或本地的应用程序;对内网 WEB 应用进行指纹识别,通过访问默认文件实现(如:readme文件);攻击内外网的 web 应用,主要是使用 GET 参数就可以实现的攻击(如:Struts2,sqli);下载内网资源(如:利用file协议读取本地文件等);进行跳板;无视cdn;利用Redis未授权访问,HTTP CRLF注入实现getshell

问14:你刚才说到了redis未授权,可以说一下他的提权方式吗?

答14:redis他的端口通常是6379,默认没有配置密码,可以使用脚本进入,进入后可以使用CONFIG set语句进行写入,提权的方法有写入WebShell、通过SSH公钥、NC反弹、计划任务。

问15:windows和linux查看计划任务用那些命令?

答15:windows的话用at和schtasks(虽然at已经弃用,但可以展示你懂的比较多);linux的话使用at添加一次性,使用crontab添加周期性任务,其中-e: 编辑计划任务 edit;-l: 查看计划任务 display;-u: 指定用户 user;-r: 删除计划任务 remove

问16:redis未授权的防护方法你懂那些?

答16:不对外网开放、低权限运行、进制运行一些高危命令

问17:ssrf的修护方法知道吗?

答17:知道,有只让访问特定端口、不让使用伪协议、过滤返回内容、同一错误信息、内网黑名单,不让访问内网的ip

问18:crlf了解吗、怎么绕过?

答18:crlf是指cr回车、lf换行,绕过方法可以使用url单、双编码,还可以将/r/n换为ascii

问19:同源策略什么意思?

答19:同IP、同端口、同协议。

问20:xss如果过滤的

答20:可以使用a标签、input、svg、video、audio、img标签,其中还可以使用style标签,使用方式是<style=“xss:expression(alert(/xss/)”>。

问21:xss常用的JS编码举例?

答21:html的话可以使用 十进制十六进制;JS代码可以使用3个 八进制、两个十六进制、四个十六进制(Unicode编码)还可以使用JSfuck代替

问22:了解过xxe漏洞吗?

答22:了解过、xxe漏洞就是XML外部实体 注入漏洞,利用DTD可以进行内部引用、外部引用、引用公告DTD、 引用参数DTD,XXE漏洞可以造成DDOS攻击、文件读取、命令执行、SQL执行、内外网端口扫描、入侵内网站点;他的防护方式可以是进入外部实体。

问23:说到rce漏洞(命令执行),如果过滤掉了cat命令,还可以用什么?

答23:还可以使用more、less、head、tail、tac、sort、uniq、file -f、vi/vim、nl/od

问24:那过滤了空格呢?

答24:在linux过滤空格可以使用${IPS}、${IPS}$,windows下可以使用%20(空格),%09(tab)。

问25:rce过滤特定字符,例如flag该怎么办?

答25:可以使用通配符例如fla*.php或者使用base64编码,还可以使用变量拼接,例如,a=fl;b=ag;$a$b。

问26:关于代码审计你知道那些,说说看?

答26:代码审计的话,我主要是审计php,像关于sql注入的话,主要找一些 sql语句位置,再看看有没有可控参数;像文件包含的话,可以寻找include、include_once、require、require_once;像刚才说的rce的话,可以找exec、shell_exec、popen、proc_popen、system、eval、assert 这些函数;关于反序列化,php可以找unserialize和serialize,java可以找writeObject和readObject。

问27:刚才看你说了include和require,你知道他们的区别吗?

答27:incude遇到报错还会执行,require遇到错误直接停止了。

问28:关于apache的shrio反序列化,你知道什么?

答28:shrio反序列化分为两种,一种是550,一种是721,两者对应的版本不同,550主要是小于1.2.4,721是1.2.5-1.4.1这个版本。其次使用的方法也不同,总体来说,shrio提供一个rememberme的一个选项,选中后会把cookie保存到客户端,保存的过程是,反序列化→AES→base64。

问29:常见端口你知道那些?

答29:DNS 53
SMTP 25
SSH 22
远程桌面 3389
FTP 21
mysql 3306
sqlserver 1433
web 80/8080/443/8443
telnet 23
redis 6379
postgresql 5432
dhcp 67/68
vnc 5900
nfc 2049
CIFS($IPC) 445
oracle 1521

问30:sqlmap中写入shell需要的条件是什么?

答30:Mysql中写入shell使用的是into outfile(),需要 root权限;文件的绝对路径;配置文件File_priv的权限(为空或知道指定目录)

问31:你知道那些web中间件漏洞?

答31:
(1)像IIS6.0有解析漏洞,例如test.asp;.jpg可以直接当asp文件解析,还可以新建一个test.asp文件夹,里面的文件都可以以asp解析,除了解析还有远程代码执行,主要产生原因是没有关闭webDAV,从而可以进行PUT提交,上传任意文件。
(2)IIS7.5也是解析漏洞,主要利用是test.jpg/1.php,这种格式都会以php解析。
(3)Apache有文件解析漏洞,文件名从右向左挨个解析,例如1.php.aaa.zzz。
(4)nginx有目录穿越漏洞,主要利用方式为127.0.0.1/file…/,还有解析漏洞,例如1.gif.2.php会以php来解析文件,这个解析漏洞的防护方法是配置文件中cgi_fix_pathinfo=0;除次之外还有CRLF注入漏洞。

(5)tomcat(7.0.0-7.0.81)存在远程代码执行,需要开启PUT,访问127.0.0.1:8080改PUT,创建x.jsp,写入shell,还有war后文件部署,登入特定后台,上传包含jsp写的war文件。
(6)Jboss有反序列化,访问/invoker/readonly 返回500,存在,还有war后文件部署漏洞。
(7)weblogic也存在反序列化漏洞,通常所在端口7001/7002,还存在SSRF和任意文件上传,可以找到网上的exp验证,最后还有war文件部署。

问32.拿到一个待检测的站,你觉得应该先做什么?

答32:收集信息:whois、网站源 IP、旁站、C 段网站、 服务器系统版本、容器版本、
程序版本、数据库类型、 二级域名、防火墙、维护者信息另说...

问33.mysql 的网站注入,5.0 以上和 5.0 以下有什么区别?

答33:5.0 以下没有 information_schema 这个系统表,无法列表名等,只能暴力跑表
名;5.0 以下是多用户单操作,5.0 以上是多用户多操做。

问34.在渗透过程中,收集目标站注册人邮箱对我们有什么价值?

答34:(1)丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台
(2)用邮箱做关键词进行丢进 搜索引擎
(3)利用搜索到的关联信息找出其他邮箱进而得到常用社交账号
(4)社工找出社交账号,里面或许会找出管理员设置密码的习惯
(5)利用已有信息生成专用字典
(6) 观察管理员常逛哪些非大众性网站,拿下它,你会得到更多好东西

问35.判断出网站的 CMS 对渗透有什么意义?

答35:查找网上已曝光的程序漏洞,如果开源,还能下载相对应的源码进行 代码审计

 

因为篇幅有限需要面试题,可以私信回复【资料】免费获取

 

 

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值