赞
踩
我们在点击选择框里面的123456时,url没有变化,不是get请求,我们直接抓包试试:
看到这个说明是POST请求:
区分一下GET请求和POST请求:
1. GET请求:GET请求用于从服务器获取资源,通过将参数附加在URL的末尾来传递数据。这些参数以键值对的形式出现在URL的查询字符串中,例如:http://example.com?param1=value1¶m2=value2。GET请求的特点包括:
- 数据以明文形式出现在URL中,可以被缓存、书签等记录。
- 传输的数据量有限,受URL长度限制。
- 数据通过URL传输,对于敏感信息不太安全。
- GET请求可被浏览器主动缓存。2. POST请求:POST请求用于向服务器提交数据,将数据放在请求的主体部分传输。与GET请求相比,POST请求的特点包括:
- 数据不会暴露在URL中,而是在请求的主体中传输,更加安全。
- 传输的数据量较大,不受URL长度限制。
- 数据不会被浏览器缓存,更适合传输敏感信息。
- POST请求对于服务器来说是无副作用的,即多次提交相同的POST请求不会引起数据的变化。
这题是SQL注入之数字注入,我们通过更改burpsuite里id的值,内容也会不断变化,所以这个地方就是注入点,
接下来我们进行sql注入:
id=1 order by 6 #&submit=%E6%9F%A5%E8%AF%A2
上面一共有6个选项,于是单猜一个6:
界面报错,我们继续猜,直到猜到2的时候回显才是正常的。
id=1 union select database(),2#&submit=%E6%9F%A5%E8%AF%A2
这段代码是一个SQL注入的示例,用于尝试获取数据库名称。它使用了UNION联合查询和注释符号来绕过数据库查询的限制。
让我们逐步解释这段代码:
1. `id=1`:这是一个条件语句,假设存在一个名为`id`的参数,值为1。
2. `union select database(),2`:这是UNION联合查询的一部分。`database()`是MySQL函数,用于获取当前数据库的名称。`2`是一个伪造的列,用于与原始查询结果的列数匹配。
id=1 union select group_concat(table_name),2 from information_schema.tables where table_schema=database() #&submit=%E6%9F%A5%E8%AF%A2
让我们逐步解释这段代码:
1. `id=1`:这是一个条件语句,假设存在一个名为`id`的参数,值为1。
2. `union select group_concat(table_name),2`:这是UNION联合查询的一部分。`group_concat(table_name)`是MySQL函数,用于将多个行的值连接成一个字符串。在这个例子中,它将返回当前数据库中所有表的名称作为一个字符串。`2`是一个伪造的列,用于与原始查询结果的列数匹配。
3. `from information_schema.tables where table_schema=database()`:这是从information_schema.tables表中获取数据的子查询。information_schema.tables是系统数据库中的一个表,包含了关于数据库中所有表的信息。`table_schema=database()`是一个条件,用于限制查询只返回当前数据库的表。
id=1 union select group_concat(column_name),2 from information_schema.columns where table_name='users'#&submit=%E6%9F%A5%E8%AF%A2
让我们逐步解释这段代码:1. `id=1`:这是一个条件语句,假设存在一个名为`id`的参数,值为1。
2. `union select group_concat(column_name),2`:这是UNION联合查询的一部分。`group_concat(column_name)`是MySQL函数,用于将多个行的值连接成一个字符串。在这个例子中,它将返回名为"users"表中所有列的名称作为一个字符串。`2`是一个伪造的列,用于与原始查询结果的列数匹配。
3. `from information_schema.columns`:这是从information_schema.columns表中获取数据的子查询。information_schema.columns是系统数据库中的一个表,包含了关于数据库中所有列的信息。
4. `where table_name='users'`:这是一个条件,用于限制查询只返回名为"users"的表的列。
找到了用户名username和密码password的列名,所以我们直接改一下payload直接梭哈就行:
账号密码都有了,不过看得出来,密码是经过md5加密的:md5解密网站
我们把密码拿去解密即可:
admin的密码是123456,pikachu的密码是000000,test的密码是abc123。
拿下!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。