渗透测试工程师常见面试题——应届生
目录(33题)
问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:关于反弹shell你知道那些方式?
答32:在linux下可以使用MSF
Bash
curl
whois
python
php
ruby
socat
prel
对于windows可以使用MSF
cobalt strike(CS)
NC
nishang
powercat
reverse UDP shell
问33:端口转发工具你知道那些?
答33:(1)像lcx端口转发工具,这个工具win中叫lcx,linux叫portmap。
(2)NC反弹,可以使用正/反向连接,看需求而定。
(3)frp内网穿透工具,其中frps为服务器,frps为客服端。
(4)ngrok,其中主要使用sunny-ngrok免费工具。
以上总结的问题就这这些,希望可以帮到大家,有什么问题可以在评论区补充
版权归原作者 我重来不说话 所有, 如有侵权,请联系我们删除。