首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >POST数据中的sqlmap注入点

POST数据中的sqlmap注入点
EN

Security用户
提问于 2017-01-02 12:05:04
回答 4查看 27.2K关注 0票数 1

目前,我正在一个网络应用程序上做一个黑盒测试,以供培训之用。这是个私人项目。

除了手动测试过程之外,我还使用了一个自动扫描器来检测明显的漏洞。虽然这个工具只发现了一些基本的问题,但它也检测到了一个我以前没有注意到的潜在的SQLi漏洞。我可以使用Burp再现错误,但仍然不能手动提取数据库数据。因为这个,我给了sqlmap一次机会。

在我提出我的实际问题之前,让我给你一些细节:

该漏洞似乎存在于登录表单中。当以下序列为窗体的POSTed时

代码语言:javascript
复制
password=letmein&username=1%c0%00xa7%c0%a2

返回mysql错误:

警告: mysql_fetch_array()期望参数1是资源,布尔给定

我将序列缩小到字节%c0。此urlencoded值将导致警告。到目前为止,我还不清楚为什么这个值会导致警告。

sqlmap设置如下所示:

代码语言:javascript
复制
 sqlmap -u http://thehost/include/login.php --method POST --data "password=letmein&username=1%c0%00xa7%c0%a2" -p "username" --dbms=mysql

它以下列形式生成请求/有效载荷:

代码语言:javascript
复制
 [PAYLOAD] 1%c0%00xa7%c0%a2)).("(,)'(
 [TRAFFIC OUT] HTTP request [#3]:
 POST /include/login.php HTTP/1.1
 Host: thehost
 Content-type: application/x-www-form-urlencoded; charset=utf-8
 Accept: */*
 Content-length: 70
 Connection: close

我想做的是更改POST数据中的注入点。这个是可能的吗?我知道在GET请求中指定注入点是可能的。另外,有人知道为什么注入的%c0字节会扰乱查询吗?

谢谢

EN

回答 4

Security用户

回答已采纳

发布于 2017-02-02 03:47:32

我不知道注入点,但是0xc0a2是另一种方式来编码“使用UTF-8字符编码的字符”。这里发生的情况是,页面脚本在转换编码之前不正确地剥离“危险”字符。您实际上可以这样插入所有受限字符。只需将ascii代码的7位二进制值分割成两部分,并按如下方式对其进行编码:1100000x 10xxxxxx

票数 0
EN

Security用户

发布于 2017-01-02 15:25:51

SQLmap以一种启发式的方式工作,它首先从应用程序中了解关于好的和坏的响应的区别,然后为username参数引入一个真实的值来获得一个好的响应,然后SQLmap将分析响应,然后注入sql命令来检测可能的SQL注入。您的SQLmap命令必须如下所示:

代码语言:javascript
复制
sqlmap -u http://thehost/include/login.php --data "password=letmein&username=this_is_a_real_username" -p "username" --dbms=mysql

选项--method POST不是专用的,当您使用选项--data时,SQLmap知道它是一个请求帖子。

我希望这些信息对你有帮助。

祝好运。

票数 0
EN

Security用户

发布于 2017-01-02 18:13:55

参考这篇文章:https://stackoverflow.com/questions/2973202/mysqli-fetch-array-mysqli-fetch-assoc-mysqli-fetch-row-expects-parameter-1

我相信这不是注入的问题,而是传递的参数可能不会给出任何结果,并且应用程序正在试图读取由于空结果返回的假值。

希望这能有所帮助!

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/146996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档