渗透测试常见问题以及⽅法
渗透测试常见问题以及⽅法。
⾯试过安全的、渗透的、安全测试的安全运维的、安全服务的,其实来来回回基本问题就是那么多,更多的是对安全的理解深度以及新型问题的应对和处理能⼒。
借道哥的⼀句话:我们不是要做⼀个能够解决问题的⽅案,⽽是要做⼀个能够‘漂亮的’解决问题的⽅案
每⼀个问题我们优雅的对待和处理,就像写婀娜多姿的code⼀样,它们给你反馈的result也会让你满意。
好些知识点也借鉴了⼀些⼤佬的,写的也很粗略,⼤家莫要责怪哈。
1.拿到⼀个待检测的站,你觉得应该先做什么?
1)信息收集
1,获取域名的whois信息,获取注册者邮箱姓名电话等。
2,查询服务器旁站以及⼦域名站点,因为主站⼀般⽐较难,所以先看看旁站有没有通⽤性的cms或者其
他漏洞。
Content Management System,常见如下:
1#Drupal#
2
3cve-2014-3704
4
5Drupal 7.31 Sql Injection
6
7cve-2018-7600 RCE
8
9#ZCMS#
10zcms 2.x 后台投稿处,存储型XSS和CSRF漏洞
11ZCMS(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脚本的开始标记,其中R
UNAT属性的值SERVER表⽰脚本将在服务器端运⾏, 后⾯的eval是⼀句话⽊马的精华部分,使⽤eval⽅法的话它⾥⾯的字符串将会被执⾏,这样当脚本在服务器端运⾏的时候同时也执⾏了 Request.form('#')+''这句代码,Request.form('#')的作⽤是读取客户端⽂件中html标记属性中name值被命名 为#的部分。
1asp⼀句话⽊马:
2
3  <%execute(request("value"))%>
4
5  php⼀句话⽊马:
6
7  <?php @eval($_POST[value]);?>
8
9  aspx⼀句话⽊马:
10
mysql下载不了什么原因
11  <%@ Page Language="Jscript"%>
12
13  <%eval(Request.Item["value"])%>
⼀.eval
<?php @eval($_POST["password"]);?>
eval⽤法:
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调⽤ return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
1 <?phpeval($_POST[password]);?>
其他⼀句话⽊马:
3)漏洞利⽤
利⽤以上的⽅式拿到webshell,或者其他权限
4)权限提升
提权服务器,⽐如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤⾁,linux脏⽜漏洞,linux 内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权
巴西烤⾁:是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
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类型。
上传的⽂件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀
现在对apache的配置⽂件做适当修改,在⽂件中添加下⾯⼏⾏代码
1      <FilesMatch ".(php.|php3.|php4.|php5.)">
2
3        Order Deny,Allow
4
5        Deny from all
6
7      </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.安全狗会追踪变量,从⽽发现出是⼀句话⽊马吗?
是根据特征码,所以很好绕过了,只要思路宽,绕狗绕到欢,但这应该不会是⼀成不变的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。