刚入职字节渗透岗,学弟非拖着我总结下面试...

Posted 大白Tang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刚入职字节渗透岗,学弟非拖着我总结下面试...相关的知识,希望对你有一定的参考价值。

刚入职字节渗透岗,学弟非拖着我总结下面试...

一张照片导致这篇文章的出炉


前脚刚进字节,发个朋友圈嘚瑟一下,微信就收到学弟的消息,说是晚上为我庆祝下,既然这么说那我也不好拒绝,晚上学弟还带了两个小学妹一起过来了。两杯猫尿下肚,我说字节福利多么多么好,工资多么多么高,两位学妹一脸崇拜的眼神望着我:学长能不能总结下字节会问到哪些技术以及一些细节呀,没办法,我只能招供了。

一、渗透思路

1、信息收集

a、服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
b、网站指纹识别(包括,cmscdn,证书等),dns记录
c、whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
e、子域名收集,旁站,C段等
f、google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等
g、扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
h、传输协议,通用漏洞,expgithub源码等

2、漏洞挖掘

a、浏览网站,看看网站规模,功能,特点等
b、端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
c、XSSSQL注入,上传,命令注入,CSRFcookie安全检测,敏感信息,通信数据传输,暴力破解,任意文件上传,越权访问,未授权访问,目录遍历,文件 包含,重放攻击(短信轰炸),服务器漏洞检测,最后使用漏扫工具等

3、漏洞利用&权限提升

a、mysql提权,serv-u提权,oracle提权
b、windows 溢出提权
c、linux脏牛,内核漏洞提权e

4、清除测试数据&输出报告

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

5、复测

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

二、常见问题

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

1)信息收集

  • 1,获取域名的whois信息,获取注册者邮箱姓名电话等。
  • 2,查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
  • 3,查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IISAPACHE,nginx的解析漏洞
  • 4,查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
  • 5,扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针
  • 6,google hack 进一步探测网站的信息,后台,敏感文件

2)漏洞扫描

  • 开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,
    远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等

3)漏洞利用

  • 利用以上的方式拿到webshell,或者其他权限

4)权限提升

  • 提权服务器,比如windowsmysqludf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,linux脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权

5) 日志清理

6)总结报告及修复方案

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

查找网上已曝光的程序漏洞。

如果开源,还能下载相对应的源码进行代码审计。

3.一个成熟并且相对安全的CMS,渗透时扫目录的意义?

敏感文件、二级目录扫描

站长的误操作比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点

4.常见的网站服务器容器。

IISApachenginxLighttpdTomcat

5.mysql注入点,用工具对目标站直接写入一句话,需要哪些条件?

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

6.目前已知哪些版本的容器有解析漏洞,具体举例。

IIS 6.0
/xx.asp/xx.jpg "xx.asp"是文件夹名

IIS 7.0/7.5
默认Fast-CGI开启,直接在url中图片地址后面输入/1.php,会把正常图片当成php解析

Nginx
版本小于等于0.8.37,利用方法和IIS 7.0/7.5一样,Fast-CGI关闭情况下也可利用。
空字节代码 xxx.jpg.php

Apache
上传的文件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀

lighttpd
xx.jpg/xx.php

7.如何手工快速判断目标站是windows还是linux服务器?

linux大小写敏感,windows大小写不敏感。

8.为何一个mysql数据库的站,只有一个80端口开放?

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

站库分离。

3306端口不对外开放

9、3389无法连接的几种情况

没开放3389 端口

端口被修改

防护拦截

处于内网(需进行端口转发)

10.如何突破注入时字符被转义?

宽字符注入

hex编码绕过

11.在某后台新闻编辑界面看到编辑器,应该先做什么?

查看编辑器的名称版本,然后搜索公开的漏洞。

12.拿到一个webshell发现网站根目录下有.htaccess文件,我们能做什么?

能做的事情很多,用隐藏网马来举例子:
插入
<FilesMatchxxx.jpg”> SetHandler application/x-httpd-php
.jpg文件会被解析成.php文件。

13.注入漏洞只能查账号密码?

只要权限广,拖库脱到老。

14.安全狗会追踪变量,从而发现出是一句话木马吗?

是根据特征码,所以很好绕过了,只要思路宽,绕狗绕到欢,但这应该不会是一成不变的。

15.access 扫出后缀为asp的数据库文件,访问乱码,如何实现到本地利用?

迅雷下载,直接改后缀为.mdb

16.提权时选择可读写目录,为何尽量不用带空格的目录?

因为exp执行多半需要空格界定参数

17.某服务器有站点A,B 为何在A的后台添加test用户,访问B的后台。发现也添加上了test用户?

同数据库。

18.注入时可以不使用andorxor,直接order by 开始注入吗?

and/or/xor,前面的1=1、1=2步骤只是为了判断是否为注入点,如果已经确定是注入点那就可以省那步骤去。

19:某个防注入系统,在注入时会提示:

系统检测到你有非法注入的行为。
已记录您的ip xx.xx.xx.xx
时间:2016:01-23
提交页面:test.asp?id=15
提交内容:and 1=1

20、如何利用这个防注入系统拿shell

在URL里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件了 这个时候可以尝试寻找网站的配置文件 直接上菜刀链接。具体文章参见:http://ytxiao.lofter.com/post/40583a_ab36540。

21.上传大马后访问乱码时,有哪些解决办法?

浏览器中改编码。

22.审查上传点的元素有什么意义?

有些站点的上传文件类型的限制是在前端实现的,这时只要增加上传类型就能突破限制了。

23.目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?

先爆破用户名,再利用被爆破出来的用户名爆破密码。

其实有些站点,在登陆处也会这样提示

所有和数据库有交互的地方都有可能有注入。

24.目标站发现某txt的下载地址为http://www.test.com/down/down.php?file=/upwdown/1.txt,你有什么思路?

这就是传说中的下载漏洞!在file=后面尝试输入index.php下载他的首页文件,然后在首页文件里继续查找其他网站的配置文件,可以找出网站的数据库密码和数据库的地址。

25.甲给你一个目标站,并且告诉你根目录下存在/abc/目录,并且此目录下存在编辑器和admin`目录。请问你的想法是?

直接在网站二级目录/abc/下扫描敏感文件及目录。

26.在有shell的情况下,如何使用xss实现对目标站的长久控制?

后台登录处加一段记录登录账号密码的js,并且判断是否登录成功,如果登录成功,就把账号密码记录到一个生僻的路径的文件中或者直接发到自己的网站文件中。(此方法适合有价值并且需要深入控制权限的网络)。

在登录后才可以访问的文件中插入XSS脚本。

27.后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户的密码?

审查元素 把密码处的password属性改成text就明文显示了

28.目标站无防护,上传图片可以正常访问,上传脚本格式访问则403.什么原因?

原因很多,有可能web服务器配置把上传目录写死了不执行相应脚本,尝试改后缀名绕过

29.审查元素得知网站所使用的防护软件,你觉得怎样做到的?

在敏感操作被拦截,通过界面信息无法具体判断是什么防护的时候,F12看html体部 比如护卫神就可以在名称那看到内容。

30.在win2003服务器中建立一个 .zhongzi文件夹用意何为?

隐藏文件夹,为了不让管理员发现你传上去的工具。

31、sql注入有以下两个测试选项,选一个并且阐述不选另一个的理由:

A. demo.jsp?id=2+1 B. demo.jsp?id=2-1
选B,在 URL 编码中 + 代表空格,可能会造成混淆

32、以下链接存在sql注入漏洞,对于这个变形注入,你有什么思路?

demo.do?DATA=AjAxNg==
DATA有可能经过了base64编码再传入服务器,所以我们也要对参数进行base64编码才能正确完成测试

33、发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 webshell,哪种是优选?

有写入权限的,构造联合查询语句使用using INTO OUTFILE,可以将查询的输出重定向到系统的文件中,这样去写入 WebShell
使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样效率更高
通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传Shell

34、CSRFXSSXXE有什么区别,以及修复方式?

XSS是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only来禁止javascript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。

CSRF是跨站请求伪造攻击,XSS是实现CSRF的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer

XXEXML外部实体注入攻击,XML中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML解析库在调用时严格禁止对外部实体的解析。

35、CSRFSSRF和重放攻击有什么区别?

CSRF是跨站请求伪造攻击,由客户端发起
SSRF是服务器端请求伪造,由服务器发起
重放攻击是将截获的数据包进行重放,达到身份认证等目的

36、说出至少三种业务逻辑漏洞,以及修复方式?

密码找回漏洞中存在
1)密码允许暴力破解、
2)存在通用型找回凭证、
3)可以跳过验证步骤、
4)找回凭证可以拦包获取
等方式来通过厂商提供的密码找回功能来得到密码。

身份认证漏洞中最常见的是
1)会话固定攻击
2)Cookie仿冒
只要得到 SessionCookie 即可伪造用户身份。

验证码漏洞中存在
1)验证码允许暴力破解
2)验证码可以通过 Javascript 或者改包的方法来进行绕过

37、圈出下面会话中可能存在问题的项,并标注可能会存在的问题?

get /ecskins/demo.jsp?uid=2016031900&keyword=”hello world”
HTTP/1.1Host:***.com:82User-Agent:Mozilla/
5.0 Firefox/40Accept:text/css,/;q=0.1
Accept-Language:zh-CN;zh;q=0.8;en-US;q=0.5,en;q=0.3
Referer:http://*******.com/eciop/orderForCC/
cgtListForCC.htm?zone=11370601&v=145902
Cookie:myguid1234567890=1349db5fe50c372c3d995709f54c273d;
uniqueserid=session_OGRMIFIYJHAH5_HZRQOZAMHJ;
st_uid=N90PLYHLZGJXI-NX01VPUF46W;
status=True
Connection:keep-alive

38、给你一个网站你是如何来渗透测试的?

在获取书面授权的前提下。

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

1)如果是get型号,直接,sqlmap -u “诸如点网址”.
2) 如果是post型诸如点,可以sqlmap -u"注入点网址” –data=“post的参数”
3)如果是cookieX-Forwarded-For等,可以访问的时候,用burpsuite抓包,注入处用号替换,放到文件里,然后sqlmap -r “文件地址”

就写到这里了,大家觉得有帮助给个三连支持一下吧!

以上是关于刚入职字节渗透岗,学弟非拖着我总结下面试...的主要内容,如果未能解决你的问题,请参考以下文章

刚入职字节渗透岗,学弟非拖着我总结下面试...

用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案

用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案

用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案

字节跳动头条2022测试开发岗 3+1 面经+经验分享(收到offer,入职月薪30K)

字节跳动测试岗面试挂在二面,我复盘总结了失败原因,决定再战一次