刚入职字节渗透岗,学弟非拖着我总结下面试...
Posted 大白Tang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刚入职字节渗透岗,学弟非拖着我总结下面试...相关的知识,希望对你有一定的参考价值。
刚入职字节渗透岗,学弟非拖着我总结下面试...
- 一张照片导致这篇文章的出炉
- 一、渗透思路
- 二、常见问题
- 1.拿到一个待检测的站,你觉得应该先做什么?
- 2.判断出网站的`CMS`对渗透有什么意义?
- 3.一个成熟并且相对安全的`CMS`,渗透时扫目录的意义?
- 4.常见的网站服务器容器。
- 5.mysql注入点,用工具对目标站直接写入一句话,需要哪些条件?
- 6.目前已知哪些版本的容器有解析漏洞,具体举例。
- 7.如何手工快速判断目标站是windows还是linux服务器?
- 8.为何一个mysql数据库的站,只有一个80端口开放?
- 9、3389无法连接的几种情况
- 10.如何突破注入时字符被转义?
- 11.在某后台新闻编辑界面看到编辑器,应该先做什么?
- 12.拿到一个`webshell`发现网站根目录下有`.htaccess`文件,我们能做什么?
- 13.注入漏洞只能查账号密码?
- 14.安全狗会追踪变量,从而发现出是一句话木马吗?
- 15.`access` 扫出后缀为`asp`的数据库文件,访问乱码,如何实现到本地利用?
- 16.提权时选择可读写目录,为何尽量不用带空格的目录?
- 17.某服务器有站点A,B 为何在A的后台添加`test`用户,访问B的后台。发现也添加上了`test`用户?
- 18.注入时可以不使用`and` 或`or` 或`xor`,直接`order by` 开始注入吗?
- 19:某个防注入系统,在注入时会提示:
- 20、如何利用这个防注入系统拿`shell`?
- 21.上传大马后访问乱码时,有哪些解决办法?
- 22.审查上传点的元素有什么意义?
- 23.目标站禁止注册用户,找回密码处随便输入用户名提示:“此用户不存在”,你觉得这里怎样利用?
- 24.目标站发现某txt的下载地址为http://www.test.com/down/down.php?file=/upwdown/1.txt,你有什么思路?
- 25.甲给你一个目标站,并且告诉你根目录下存在`/abc/`目录,并且此目录下存在编辑器和admin`目录。请问你的想法是?
- 26.在有`shell`的情况下,如何使用`xss`实现对目标站的长久控制?
- 27.后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户的密码?
- 28.目标站无防护,上传图片可以正常访问,上传脚本格式访问则403.什么原因?
- 29.审查元素得知网站所使用的防护软件,你觉得怎样做到的?
- 30.在win2003服务器中建立一个 .zhongzi文件夹用意何为?
- 31、`sql`注入有以下两个测试选项,选一个并且阐述不选另一个的理由:
- 32、以下链接存在` sql `注入漏洞,对于这个变形注入,你有什么思路?
- 33、发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 `webshell`,哪种是优选?
- 34、`CSRF` 和 `XSS` 和 `XXE `有什么区别,以及修复方式?
- 35、`CSRF`、`SSRF`和重放攻击有什么区别?
- 36、说出至少三种业务逻辑漏洞,以及修复方式?
- 37、圈出下面会话中可能存在问题的项,并标注可能会存在的问题?
- 38、给你一个网站你是如何来渗透测试的?
- 39、`sqlmap`,怎么对一个注入点注入?
一张照片导致这篇文章的出炉
前脚刚进字节,发个朋友圈嘚瑟一下,微信就收到学弟的消息,说是晚上为我庆祝下,既然这么说那我也不好拒绝,晚上学弟还带了两个小学妹一起过来了。两杯猫尿下肚,我说字节福利多么多么好,工资多么多么高,两位学妹一脸崇拜的眼神望着我:学长能不能总结下字节会问到哪些技术以及一些细节呀,没办法,我只能招供了。
一、渗透思路
1、信息收集
a、服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF
等)
b、网站指纹识别(包括,cms
,cdn
,证书等),dns
记录
c、whois
信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
e、子域名收集,旁站,C段等
f、google hacking
针对化搜索,pdf文件,中间件版本,弱口令扫描等
g、扫描网站目录结构,爆后台,网站banner
,测试文件,备份等敏感文件泄漏等
h、传输协议,通用漏洞,exp
,github
源码等
2、漏洞挖掘
a、浏览网站,看看网站规模,功能,特点等
b、端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync
,心脏出血,mysql
,ftp
,ssh
弱口令等。
c、XSS
,SQL
注入,上传,命令注入,CSRF
,cookie
安全检测,敏感信息,通信数据传输,暴力破解,任意文件上传,越权访问,未授权访问,目录遍历,文件 包含,重放攻击(短信轰炸),服务器漏洞检测,最后使用漏扫工具等
3、漏洞利用&权限提升
a、mysql
提权,serv-u
提权,oracle
提权
b、windows
溢出提权
c、linux
脏牛,内核漏洞提权e
4、清除测试数据&输出报告
日志、测试数据的清理
总结,输出渗透测试报告,附修复方案
5、复测
验证并发现是否有新漏洞,输出报告,归档
二、常见问题
1.拿到一个待检测的站,你觉得应该先做什么?
1)信息收集
- 1,获取域名的
whois
信息,获取注册者邮箱姓名电话等。 - 2,查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的
cms
或者其他漏洞。 - 3,查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如
IIS
,APACHE
,nginx
的解析漏洞 - 4,查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如
rsync
,心脏出血,mysql
,ftp
,ssh
弱口令等。 - 5,扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如
php
探针 - 6,
google hack
进一步探测网站的信息,后台,敏感文件
2)漏洞扫描
- 开始检测漏洞,如
XSS
,XSRF
,sql
注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,
远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
3)漏洞利用
- 利用以上的方式拿到
webshell
,或者其他权限
4)权限提升
- 提权服务器,比如
windows
下mysql
的udf
提权,serv-u
提权,windows
低版本的漏洞,如iis6,pr,巴西烤肉,linux脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
5) 日志清理
6)总结报告及修复方案
2.判断出网站的CMS
对渗透有什么意义?
查找网上已曝光的程序漏洞。
如果开源,还能下载相对应的源码进行代码审计。
3.一个成熟并且相对安全的CMS
,渗透时扫目录的意义?
敏感文件、二级目录扫描
站长的误操作比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点
4.常见的网站服务器容器。
IIS
、Apache
、nginx
、Lighttpd
、Tomcat
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
文件,我们能做什么?
能做的事情很多,用隐藏网马来举例子:
插入
<FilesMatch
“xxx.jpg
”> SetHandler
application
/x-httpd-php
.jpg文件会被解析成.php文件。
13.注入漏洞只能查账号密码?
只要权限广,拖库脱到老。
14.安全狗会追踪变量,从而发现出是一句话木马吗?
是根据特征码,所以很好绕过了,只要思路宽,绕狗绕到欢,但这应该不会是一成不变的。
15.access
扫出后缀为asp
的数据库文件,访问乱码,如何实现到本地利用?
迅雷下载,直接改后缀为.mdb
。
16.提权时选择可读写目录,为何尽量不用带空格的目录?
因为exp
执行多半需要空格界定参数
17.某服务器有站点A,B 为何在A的后台添加test
用户,访问B的后台。发现也添加上了test
用户?
同数据库。
18.注入时可以不使用and
或or
或xor
,直接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、CSRF
和 XSS
和 XXE
有什么区别,以及修复方式?
XSS
是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。修复方式:对字符实体进行转义、使用HTTP Only
来禁止javascript读取Cookie
值、输入时校验、浏览器与Web
应用端采用相同的字符编码。
CSRF
是跨站请求伪造攻击,XSS
是实现CSRF
的诸多手段中的一种,是由于没有在关键操作执行时进行是否由用户自愿发起的确认。修复方式:筛选出需要防范CSRF
的页面然后嵌入Token
、再次输入密码、检验Referer
XXE
是XML
外部实体注入攻击,XML
中可以通过调用实体来请求本地或者远程内容,和远程文件保护类似,会引发相关安全问题,例如敏感文件读取。修复方式:XML
解析库在调用时严格禁止对外部实体的解析。
35、CSRF
、SSRF
和重放攻击有什么区别?
CSRF
是跨站请求伪造攻击,由客户端发起
SSRF
是服务器端请求伪造,由服务器发起
重放攻击是将截获的数据包进行重放,达到身份认证等目的
36、说出至少三种业务逻辑漏洞,以及修复方式?
密码找回漏洞中存在
1)密码允许暴力破解、
2)存在通用型找回凭证、
3)可以跳过验证步骤、
4)找回凭证可以拦包获取
等方式来通过厂商提供的密码找回功能来得到密码。
身份认证漏洞中最常见的是
1)会话固定攻击
2)Cookie
仿冒
只要得到 Session
或 Cookie
即可伪造用户身份。
验证码漏洞中存在
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)如果是cookie
,X-Forwarded-For
等,可以访问的时候,用burpsuite
抓包,注入处用号替换,放到文件里,然后sqlmap -r
“文件地址”
就写到这里了,大家觉得有帮助给个三连支持一下吧!
以上是关于刚入职字节渗透岗,学弟非拖着我总结下面试...的主要内容,如果未能解决你的问题,请参考以下文章
用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案
用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案
用时一个半个月,七月刚入职字节跳动的测试开发面试题,内附答案