目录
前言
本次渗透测试的目的是为了验证SQL注入的危害和对联合查询注入的思路,以及编写脚本批量下载。最后进行getshell的一个操作。
注:本次测试位于一个理想环境,无WAF,无过滤
环境:sqli-labs less-1,phpstduy
工具:蚁剑,pycharm
0x01 sql注入测试
0x0101 注点判断
首先给id=1,测试正常情况。返回结果是name和password
尝试让sql语句报错,获取sql相关信息。我们的关注点应该是两个单引号中间的22 --,说明左边单引号形成闭合,源代码中id变量是被两个单引号包裹起来的。
payload:=>http://127.0.0.1/sqlilab/Less-1/?id=11'22 --+
报错信息:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘22 – ’ LIMIT 0,1’ at line 1
0x0102 回显字段判断
利用order by判断字段数,根据3返回页面正常,4返回页面错误,得出回显字段为3个。
payload=>http://127.0.0.1/sqlilab/Less-1/?id=1' order by 4 --+
利用联合查询 union select 加字段数判断回显字段属于哪个字段。这里需要让前半部分的值为假,后半部分的字段才会显示出来。根据回显信息可以看出回显字段为,2,3
payload=>http://127.0.0.1/sqlilab/Less-1/?id=-1' union select 1,2,3 --+
0x0103 函数注入
在回显字段中注入mysql内置函数,获取当前数据库的信息,可以查询出当前数据库为security,其他常用函数
操作系统 @@versi