保定网站建设价格低网站排名应该怎么做

news/2025/10/6 23:47:53/文章来源:
保定网站建设价格低,网站排名应该怎么做,现在由哪些网站可以做外链,阿里云建站流程文章目录 Upload-labs 1~15 通关详细教程Pass-01-前端js验证Pass-02-后端MIME验证Pass-03-黑名单验证Pass-04-黑名单验证.htaccessPass-05-文件后缀名大小写绕过Pass-06-文件后缀名空格绕过Pass-07-文件后缀名点绕过Pass-08-文件后缀名::$DATA绕过Pass-09-点空格点空格绕过Pass… 文章目录 Upload-labs 1~15 通关详细教程Pass-01-前端js验证Pass-02-后端MIME验证Pass-03-黑名单验证Pass-04-黑名单验证.htaccessPass-05-文件后缀名大小写绕过Pass-06-文件后缀名空格绕过Pass-07-文件后缀名点绕过Pass-08-文件后缀名::$DATA绕过Pass-09-点空格点空格绕过Pass-10-文件后缀名双写绕过Pass-11-GET型00截断Pass-12-POST型00截断Pass-13-图片木马绕过Pass-14-getimagesize()检查绕过Pass-15-exif_imagetype()检测绕过 Upload-labs 1~15 通关详细教程 靶场地址Upload-labs。 还有俺写的另一篇博客作为参考任意文件上传。 Pass-01-前端js验证 上传一个php的一句话木马文件 文件内容如下 这里显示上传的文件类型只能是jpgpnggif类型的 查看源码 我们可以修改文件后缀名为png。 使用BurpSuite抓取数据包然后再将文件的后缀名修改为php。 使用中国蚁剑进行连接。 http://192.168.188.183/upload/wuhu.phpPass-02-后端MIME验证 后端 MIME 验证是一种常用的安全机制用于验证接收到的文件的MIME 类型Multipurpose Internet Mail Extensions。MIME 类型是通过 HTTP 协议将文件的特定类型信息传输给客户端的一种标准方法。后端 MIME 验证是在服务器端对接收到的文件进行验证确保其声明的 MIME 类型与实际文件类型相匹配。 后端 MIME 验证的目的是防止恶意用户绕过前端限制通过伪造文件的扩展名或修改文件内容来上传和执行恶意文件。通过验证文件的真实 MIME 类型可以减少安全风险有效防止不合法的文件被上传和处理。 在后端 MIME 验证中服务器会解析上传的文件并根据文件的内容或文件头部信息判断其实际的 MIME 类型。然后服务器会将解析得到的 MIME 类型与客户端提交的 MIME 类型进行比较如果两者不一致则表示可能存在风险服务器可以拒绝接受或进一步处理该文件。 后端 MIME 验证通常作为文件上传功能的一部分结合其他安全措施如文件大小限制、文件类型白名单等以增强系统的安全性。 回到靶场上传一个php的一句话木马文件。 页面报错文件类型不正确需要重新上传。 查看源码 我们在上传文件的时候使用BurpSuite抓取数据包来修改里面的Content-Type值从而绕过MIME 验证。 上传成功 然后就可以使用蚁剑进行连接了 Pass-03-黑名单验证 查看源码发现这关设置了文件后缀名的黑名单。 但是这里的黑名单规则不严谨在某些特定环境中某些特殊后缀仍会被当作php文件解析 php、php2、php3、php4、php5、php6、php7、pht、phtm、phtml。 这里用.php6文件后缀名直接上传一个名为wuhu.php6的文件 发现直接上传成功。 Pass-04-黑名单验证.htaccess 查看源码黑名单中的过滤的内容更多了。 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.php,.php5,.php4,.php3,.php2,php1,.html,.htm,.phtml,.pht,.pHp,.pHp5,.pHp4,.pHp3,.pHp2,pHp1,.Html,.Htm,.pHtml,.jsp,.jspa,.jspx,.jsw,.jsv,.jspf,.jtml,.jSp,.jSpx,.jSpa,.jSw,.jSv,.jSpf,.jHtml,.asp,.aspx,.asa,.asax,.ascx,.ashx,.asmx,.cer,.aSp,.aSpx,.aSa,.aSax,.aScx,.aShx,.aSmx,.cEr,.sWf,.swf);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删除文件名末尾的点$file_ext strrchr($file_name, .);$file_ext strtolower($file_ext); //转换为小写$file_ext str_ireplace(::$DATA, , $file_ext);//去除字符串::$DATA$file_ext trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file $_FILES[upload_file][tmp_name];$img_path UPLOAD_PATH./.date(YmdHis).rand(1000,9999).$file_ext;if (move_uploaded_file($temp_file, $img_path)) {$is_upload true;} else {$msg 上传出错;}} else {$msg 此文件不允许上传!;}} else {$msg UPLOAD_PATH . 文件夹不存在,请手工创建;} }这里使用 .htaccess 后缀名的文件。 .htaccess 是一个用于 Apache Web 服务器的配置文件它是一种特殊的文本文件使用 “.htaccess” 作为文件名的后缀。该文件通常用于在特定目录下改变 Apache 服务器的行为以及对网站进行配置。 .htaccess 文件的作用是允许网站管理员在特定目录中覆盖默认的服务器设置以灵活地控制网站的行为和功能。它可以包含一系列指令用于自定义访问权限、重定向URL、启用或禁用模块、修改请求处理规则等。 常见的用途和功能 URL 重写通过 RewriteRule 指令可以修改 URL 地址的结构使得对外暴露的 URL 更加友好和易读同时也方便实现重定向和 URL 路由功能。访问控制通过使用指令如 Require 和 Allow/Deny可以限制特定用户或 IP 地址的访问权限保护敏感目录或文件。自定义错误页面通过 ErrorDocument 指令可以针对不同的 HTTP 错误代码自定义相应的错误页面。缓存控制通过使用指令如 ExpiresByType可以设置不同类型文件的缓存过期时间以提升网站性能和加快页面加载速度。MIME 类型配置通过 AddType 或 AddHandler 指令可以自定义文件扩展名与 MIME 类型之间的映射关系。重写规则使用 RewriteRule 和 RewriteCond 指令可以实现灵活的 URL 重写和重定向规则对请求进行修改或转发。 上传文件的内容 FilesMatch jpg SetHandler application/x-httpd-php /FilesMatch说明如果文件里面有一个后缀为.jpg的文件就会被解析成.php。 先上传**.htaccess**文件然后上传phpinfo.jpg文件。 Pass-05-文件后缀名大小写绕过 查看源码发现本关的黑名单中过滤了.htaccess文件所以这关无法使用.htaccess来进行绕过。 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.php,.php5,.php4,.php3,.php2,.html,.htm,.phtml,.pht,.pHp,.pHp5,.pHp4,.pHp3,.pHp2,.Html,.Htm,.pHtml,.jsp,.jspa,.jspx,.jsw,.jsv,.jspf,.jtml,.jSp,.jSpx,.jSpa,.jSw,.jSv,.jSpf,.jHtml,.asp,.aspx,.asa,.asax,.ascx,.ashx,.asmx,.cer,.aSp,.aSpx,.aSa,.aSax,.aScx,.aShx,.aSmx,.cEr,.sWf,.swf,.htaccess);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删除文件名末尾的点$file_ext strrchr($file_name, .);$file_ext str_ireplace(::$DATA, , $file_ext);//去除字符串::$DATA$file_ext trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file $_FILES[upload_file][tmp_name];$img_path UPLOAD_PATH./.date(YmdHis).rand(1000,9999).$file_ext;if (move_uploaded_file($temp_file, $img_path)) {$is_upload true;} else {$msg 上传出错;}} else {$msg 此文件类型不允许上传;}} else {$msg UPLOAD_PATH . 文件夹不存在,请手工创建;} }观察发现源码中缺少了strtolower函数说明这里可以尝试大小写绕过。 $file_ext strtolower($file_ext); //转换为小写上传**.Php**后缀名的文件 Pass-06-文件后缀名空格绕过 查看源码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.php,.php5,.php4,.php3,.php2,.html,.htm,.phtml,.pht,.pHp,.pHp5,.pHp4,.pHp3,.pHp2,.Html,.Htm,.pHtml,.jsp,.jspa,.jspx,.jsw,.jsv,.jspf,.jtml,.jSp,.jSpx,.jSpa,.jSw,.jSv,.jSpf,.jHtml,.asp,.aspx,.asa,.asax,.ascx,.ashx,.asmx,.cer,.aSp,.aSpx,.aSa,.aSax,.aScx,.aShx,.aSmx,.cEr,.sWf,.swf,.htaccess);$file_name $_FILES[upload_file][name];$file_name deldot($file_name);//删除文件名末尾的点$file_ext strrchr($file_name, .);$file_ext strtolower($file_ext); //转换为小写$file_ext str_ireplace(::$DATA, , $file_ext);//去除字符串::$DATAif (!in_array($file_ext, $deny_ext)) {$temp_file $_FILES[upload_file][tmp_name];$img_path UPLOAD_PATH./.date(YmdHis).rand(1000,9999).$file_ext;if (move_uploaded_file($temp_file,$img_path)) {$is_upload true;} else {$msg 上传出错;}} else {$msg 此文件不允许上传;}} else {$msg UPLOAD_PATH . 文件夹不存在,请手工创建;} }观察发现源码中缺少了trim函数去除字符串首尾处的空白字符说明这里可以尝试空格绕过。 $file_ext trim($file_ext); //首尾去空上传php文件然后抓取数据包在文件后缀名后面加一个空格。 上传成功 Pass-07-文件后缀名点绕过 查看源码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.php,.php5,.php4,.php3,.php2,.html,.htm,.phtml,.pht,.pHp,.pHp5,.pHp4,.pHp3,.pHp2,.Html,.Htm,.pHtml,.jsp,.jspa,.jspx,.jsw,.jsv,.jspf,.jtml,.jSp,.jSpx,.jSpa,.jSw,.jSv,.jSpf,.jHtml,.asp,.aspx,.asa,.asax,.ascx,.ashx,.asmx,.cer,.aSp,.aSpx,.aSa,.aSax,.aScx,.aShx,.aSmx,.cEr,.sWf,.swf,.htaccess);$file_name trim($_FILES[upload_file][name]);$file_ext strrchr($file_name, .);$file_ext strtolower($file_ext); //转换为小写$file_ext str_ireplace(::$DATA, , $file_ext);//去除字符串::$DATA$file_ext trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file $_FILES[upload_file][tmp_name];$img_path UPLOAD_PATH./.$file_name;if (move_uploaded_file($temp_file, $img_path)) {$is_upload true;} else {$msg 上传出错;}} else {$msg 此文件类型不允许上传;}} else {$msg UPLOAD_PATH . 文件夹不存在,请手工创建;} }观察源码发现缺少deldot删除文件名末尾的点 $file_name deldot($file_name); //删除文件名末尾的点上传php文件然后抓取数据包在文件后缀名后面加一个点。 利用windows特性会自动去掉后缀名中最后的”.”可在后缀名中加”.”绕过。 上传成功 访问上传的php文件 Pass-08-文件后缀名::$DATA绕过 查看源码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.php,.php5,.php4,.php3,.php2,.html,.htm,.phtml,.pht,.pHp,.pHp5,.pHp4,.pHp3,.pHp2,.Html,.Htm,.pHtml,.jsp,.jspa,.jspx,.jsw,.jsv,.jspf,.jtml,.jSp,.jSpx,.jSpa,.jSw,.jSv,.jSpf,.jHtml,.asp,.aspx,.asa,.asax,.ascx,.ashx,.asmx,.cer,.aSp,.aSpx,.aSa,.aSax,.aScx,.aShx,.aSmx,.cEr,.sWf,.swf,.htaccess);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删除文件名末尾的点$file_ext strrchr($file_name, .);$file_ext strtolower($file_ext); //转换为小写$file_ext trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file $_FILES[upload_file][tmp_name];$img_path UPLOAD_PATH./.date(YmdHis).rand(1000,9999).$file_ext;if (move_uploaded_file($temp_file, $img_path)) {$is_upload true;} else {$msg 上传出错;}} else {$msg 此文件类型不允许上传;}} else {$msg UPLOAD_PATH . 文件夹不存在,请手工创建;} }观察源码发现缺少了去除字符串str_ireplace。 $file_ext str_ireplace(::$DATA, , $file_ext);//去除字符串::$DATA说明 在 Windows 操作系统中::$DATA 是一种用于隐藏文件的特殊附加数据流Alternate Data Stream。它是一种扩展文件属性可以将额外的数据附加到一个文件中而不会影响文件的主要内容。附加数据流基于文件名和冒号之间的特殊语法例如file.txt::$DATA。附加数据流可以储存任意类型的数据例如文本、二进制文件或其他文件。这使得 .::$DATA 可以被用于隐藏文件内容、存储元数据或其他需要与主文件相关但不希望直接显示给用户的信息。 上传php文件然后抓取数据包在文件后缀名后面加上::$DATA即可。 上传成功 Pass-09-点空格点空格绕过 查看源码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(.php,.php5,.php4,.php3,.php2,.html,.htm,.phtml,.pht,.pHp,.pHp5,.pHp4,.pHp3,.pHp2,.Html,.Htm,.pHtml,.jsp,.jspa,.jspx,.jsw,.jsv,.jspf,.jtml,.jSp,.jSpx,.jSpa,.jSw,.jSv,.jSpf,.jHtml,.asp,.aspx,.asa,.asax,.ascx,.ashx,.asmx,.cer,.aSp,.aSpx,.aSa,.aSax,.aScx,.aShx,.aSmx,.cEr,.sWf,.swf,.htaccess);$file_name trim($_FILES[upload_file][name]);$file_name deldot($file_name);//删除文件名末尾的点$file_ext strrchr($file_name, .);$file_ext strtolower($file_ext); //转换为小写$file_ext str_ireplace(::$DATA, , $file_ext);//去除字符串::$DATA$file_ext trim($file_ext); //首尾去空if (!in_array($file_ext, $deny_ext)) {$temp_file $_FILES[upload_file][tmp_name];$img_path UPLOAD_PATH./.$file_name;if (move_uploaded_file($temp_file, $img_path)) {$is_upload true;} else {$msg 上传出错;}} else {$msg 此文件类型不允许上传;}} else {$msg UPLOAD_PATH . 文件夹不存在,请手工创建;} }观察源码发现代码先是去除文件名前后的空格再去除文件名末尾的.再通过strrchar函数来寻找.来确认文件名的后缀但是最后保存文件的时候没有重命名而使用的原始的文件名本关没有循环验证说明转换大小写去除空格什么的它只验证一次。 上传php文件然后抓取数据包在文件后缀名后面加上.php. . 即可。也就是点空格点空格绕过。 上传成功 Pass-10-文件后缀名双写绕过 查看源码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists(UPLOAD_PATH)) {$deny_ext array(php,php5,php4,php3,php2,html,htm,phtml,pht,jsp,jspa,jspx,jsw,jsv,jspf,jtml,asp,aspx,asa,asax,ascx,ashx,asmx,cer,swf,htaccess);$file_name trim($_FILES[upload_file][name]);$file_name str_ireplace($deny_ext,, $file_name);$temp_file $_FILES[upload_file][tmp_name];$img_path UPLOAD_PATH./.$file_name; if (move_uploaded_file($temp_file, $img_path)) {$is_upload true;} else {$msg 上传出错;}} else {$msg UPLOAD_PATH . 文件夹不存在,请手工创建;} }上传一个文件查看发现将违规的文件后缀名替换为空了 那么我们可以使用文件后缀名双写来绕过 上传成功 页面访问 Pass-11-GET型00截断 查看源码 $is_upload false; $msg null; if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_ext substr($_FILES[upload_file][name],strrpos($_FILES[upload_file][name],.)1);if(in_array($file_ext,$ext_arr)){$temp_file $_FILES[upload_file][tmp_name];$img_path $_GET[save_path]./.rand(10, 99).date(YmdHis)...$file_ext;if(move_uploaded_file($temp_file,$img_path)){$is_upload true;} else {$msg 上传出错;}} else{$msg 只允许上传.jpg|.png|.gif类型文件;} } 观察源码发现是白名单上传只允许上传白名单中的后缀名。 关键代码如下 $img_path $_GET[save_path]./.rand(10, 99).date(YmdHis)...$file_ext;这个$img_path变量是直接进行拼接的所以可以使用%00截断绕过。 %00截断的条件php版本要小于5.3.4 修改php.ini配置文件中的magic_quotes_gpc为OFF状态。 上传PHP文件使用bp抓包然后修改save_path的值 说明GET请求提交的内容会被自动进行URL编码。 上传成功 页面访问 补充 00截断Null Byte Injection是一种针对Web应用程序的安全漏洞它利用输入验证不充分的情况下以空字节\x00或%00作为终止字符来截断字符序列。这种漏洞通常出现在不正确地处理用户输入的情况下尤其是在字符串拼接或文件路径处理等场景中。 当应用程序没有正确处理输入数据时攻击者可以通过插入空字节来绕过输入验证。空字节可以用来截断字符串导致应用程序对输入数据的处理产生意外结果进而造成安全问题。 0x00%00/00这三类阶截断都是属于同种原理。在url中%00表示ascll码中的0 而ascii中0作为特殊字符保留表示字符串结束所以当url中出现%00时就会认为读取已结束。 例如在1.php文件名改为1.php%00.jpg会被解析为1.php欺骗应用程序认为这是受支持的php文件类型从而绕过文件类型验证上传shell。 Pass-12-POST型00截断 查看源码 $is_upload false; $msg null; if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_ext substr($_FILES[upload_file][name],strrpos($_FILES[upload_file][name],.)1);if(in_array($file_ext,$ext_arr)){$temp_file $_FILES[upload_file][tmp_name];$img_path $_POST[save_path]./.rand(10, 99).date(YmdHis)...$file_ext;if(move_uploaded_file($temp_file,$img_path)){$is_upload true;} else {$msg 上传失败;}} else {$msg 只允许上传.jpg|.png|.gif类型文件;} }同样的白名单策略与上一关不同的是这次换成了POST方式传参使用00截断。 上传php木马使用bp抓取数据包修改数据包内容 但是这里不会像GET方式那样会对%00进行解码所以要对%00进行URL编码。 上传成功 页面访问 Pass-13-图片木马绕过 查看源码 function getReailFileType($filename){$file fopen($filename, rb);$bin fread($file, 2); //只读2字节fclose($file);$strInfo unpack(C2chars, $bin); $typeCode intval($strInfo[chars1].$strInfo[chars2]); $fileType ; switch($typeCode){ case 255216: $fileType jpg;break;case 13780: $fileType png;break; case 7173: $fileType gif;break;default: $fileType unknown;} return $fileType; }$is_upload false; $msg null; if(isset($_POST[submit])){$temp_file $_FILES[upload_file][tmp_name];$file_type getReailFileType($temp_file);if($file_type unknown){$msg 文件未知上传失败;}else{$img_path UPLOAD_PATH./.rand(10, 99).date(YmdHis)...$file_type;if(move_uploaded_file($temp_file,$img_path)){$is_upload true;} else {$msg 上传出错;}} }使用cmd命令 copy imgName/b phpName/a newImgName上传图片木马 结合文件包含漏洞执行图片木马利用靶场提供的include.php文件进行漏洞测试。 浏览器访问路径 http://192.168.188.183/include.php?file./upload/6720230902142414.png蚁剑进行连接 Pass-14-getimagesize()检查绕过 查看源码 function isImage($filename){$types .jpeg|.png|.gif;if(file_exists($filename)){$info getimagesize($filename);$ext image_type_to_extension($info[2]);if(stripos($types,$ext)0){return $ext;}else{return false;}}else{return false;} }$is_upload false; $msg null; if(isset($_POST[submit])){$temp_file $_FILES[upload_file][tmp_name];$res isImage($temp_file);if(!$res){$msg 文件未知上传失败;}else{$img_path UPLOAD_PATH./.rand(10, 99).date(YmdHis).$res;if(move_uploaded_file($temp_file,$img_path)){$is_upload true;} else {$msg 上传出错;}} }观察源码发现getimagesize()函数该函数会对文件内容进行检测但是只检测文件头部。 上传php使用bp抓取数据包修改数据包中的内容在文件内容的头部添加”GIF89a“。 上传成功 结合文件包含漏洞执行图片木马利用靶场提供的include.php文件进行漏洞测试。 浏览器访问路径 http://192.168.188.183/include.php?file./upload/9920230902150500.gifPass-15-exif_imagetype()检测绕过 查看源码 function isImage($filename){//需要开启php_exif模块$image_type exif_imagetype($filename);switch ($image_type) {case IMAGETYPE_GIF:return gif;break;case IMAGETYPE_JPEG:return jpg;break;case IMAGETYPE_PNG:return png;break; default:return false;break;} }$is_upload false; $msg null; if(isset($_POST[submit])){$temp_file $_FILES[upload_file][tmp_name];$res isImage($temp_file);if(!$res){$msg 文件未知上传失败;}else{$img_path UPLOAD_PATH./.rand(10, 99).date(YmdHis)...$res;if(move_uploaded_file($temp_file,$img_path)){$is_upload true;} else {$msg 上传出错;}} }观察源码发现有一个exif_imagetype()函数该函数是判断一个图形的类型。 绕过方式采用图片木马 结合文件包含漏洞执行图片木马利用靶场提供的include.php文件进行漏洞测试。 浏览器访问 蚁剑进行连接即可。 也可以使用Pass-14的方式进行绕过。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑网站模板淘宝店铺推广渠道有哪些

1. 题目 给你两个单词 s 和 t,请你计算出将 s 转换成 t 所使用的最少操作数。 你可以对一个单词进行如下两种操作: 删除一个字符替换一个字符 注意: 不允许插入操作 题目保证有解 示例: 输入:s "abcdefg&qu…

教会音控组侍奉中的工序主义实践

两年前在教堂播放过一段时间PPT。 这个工作的主要内容是,在开场前播放一些简介性的幻灯页。 开场后一般为赞美团献唱,播放歌词PPT,这种PPT背景是黑色的,歌词为黄色文字,黑色被镂空,黄色文字叠加在摄像头画面,在…

网站开发 简单优秀网站建设多少钱

matlab连续型随机变量的分布.doc 连续型随机变量的分布及其数字特征一、基本概念设随机变量X的分布函数为F(x),若存在非负函数f(x),使对任意实数x,有≤X{Pxd}则称X为连续型随机变量,并称f(x)为X的概率密度,它满…

长沙建站网购物网站建设过程

文章目录 推荐写在前面一、熟悉Gateway基本概念与原理1、三大概念2、工作流程 二、基本使用路由断言的两种写法 三、路由断言工厂1、After路由断言工厂2、Before路由断言工厂3、Between路由断言工厂4、Cookie路由断言工厂5、Header路由断言工厂6、Host路由断言工厂7、Method路由…

用 Kotlin 调用 Tesseract 实现验证码识别

一、引言 验证码作为防止自动化攻击的重要手段,常见形式是数字、字母或组合图片。要实现自动识别,可以使用 OCR 技术。本文介绍如何通过 Kotlin 调用 Tesseract OCR 完成验证码识别。 二、技术选型 更多内容访问ttoc…

Kotlin 调用 Tesseract 实现验证码识别

一、引言 验证码作为防止自动化攻击的重要手段,常见形式是数字、字母或组合图片。要实现自动识别,可以使用 OCR 技术。本文介绍如何通过 Kotlin 调用 Tesseract OCR 完成验证码识别。 二、技术选型 编程语言:Kotlin…

长春市长春网站建设可以做直播卖产品的网站

当需要在方法前后做一些操作就需要借助动态代理来实现 一、动态代理实现方法 1、jdk自带实现方式 jdk实现代理是被代理类实现接口的方式 public interface UserInterface {void test(); }public class UserService implements UserInterface {public void test() {System.o…

肇庆建设网站手机建网站制作

python script常见格式: import sys #导入sys模块 from util import * #从util模块导入全部需要的变量,函数等 module[webview,content_shell,chrome] #列表数据结构 number(1,2,5,6,9) #元祖数据结构,不可改变 转载于:https://www.cnblogs.com/hanying/p/3792601.html

Dart 调用 Tesseract 实现验证码识别

一、背景介绍 验证码(CAPTCHA)常用于防止恶意程序批量请求。通常我们需要通过 OCR 技术识别验证码,从而实现自动化。 本文将介绍如何使用 Dart 调用 Tesseract OCR 来识别验证码。 二、技术选型 语言:Dart OCR 引擎…

淘宝美工网站怎么做万网网站空间

在本篇文章中我们主要围绕下面几个问题来介绍async 和await 🍰Generator的作用,async 及 await 的特点,它们的优点和缺点分别是什么?await 原理是什么? 📅我的感受是我们先来了解Generator,在去…

汽车之家这样的网站怎么做企业网站要求

C左值右值左值和右值的由来什么是左值和右值左值右值的本质引用左值引用右值引用 移动语句与完美转发移动语句实现移动构造函数和转移赋值函数stdmove完美转发Perfect Forwarding C左值右值 自从C11发布之后,出现了一个新的概念,即左值和右值&#xf…

关于做ppt的网站有哪些内容吗东莞品牌设计公司

中国大数据技术大会(BDTC)由中国计算机学会(CCF)创立于2008年,已经成为国内外极具行业实践的专业大数据交流平台。12月22日-24日,第十七届中国大数据技术大会(BDTC 2023)在广州举行。…

Audacity导出音频后发声提醒

这么一个看似简单的功能,实现起来却颇费周折。 据ai说,Audacity 3.3版本只需要简单设置一下就可以了。但后来的版本莫名其妙去掉了这个功能。 ai给了大量的错误信息。首先用Nyquist写插件,没用,它只能生成一个音频…

怎样批量做全国网站有专业做外贸的网站吗

文章目录 [toc]使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点,测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中,查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2…

做网站首页可以用传媒公司吗松江品划做企业网站

1、使用-t做不同项目的环境隔离 pip intall xxx -t /path/env1 公共环境放一个路径,其他放单独路径,可以完美隔离 训练时通过export PYTHONPATH/path/env1:$PYTHONPATH来调整 2、安装包,因为依赖导致失败 加上参数–no-deps, 不按照依赖 有…

网站制作完成之后进入什么阶段网站推广有哪些手段

来源于公众未读代码 ,作者达西呀创建项目创建一个 SpringBoot 项目非常的简单,简单到这里根本不用再提。你可以在使用 IDEA 新建项目时直接选择 Spring Initlalize 创建一个 Spring Boot 项目,也可以使用 Spring 官方提供的 Spring Boot 项目…

.net 网站开发平原网站建设费用

简介:四位企业运维大咖展开对话,讨论“云时代下,企业运维面临的挑战与机遇”。 编者按:上云,已经成为了企业势不可挡的选择。云计算所拥有的“软件定义一切”的特性,推动了敏捷弹性、DevOps、智能运维和基…

防范AI提示词攻击(2025):AI-FOCUS团队「AI FENCE」实战方案

防范AI提示词攻击(2025):AI-FOCUS团队「AI FENCE」实战方案要稳妥防范提示词攻击(Prompt Injection/Prompt Leaking/TokenBreak),优先选择具备“流式网关 + 双向拦截 + 语义与规则并行”能力的产品。AI-FOCUS 团…

请人建网站需要多少钱wordpress调用菜单的代码

最近刚好又遇到了抓包的需求,之前一直使用 Fiddler 抓包,这几年一直听大家都在用 Charles 抓包,正好一起了解下(一般建议掌握一种抓包方式即可,都可以解决同种需求场景) 抓包 Fiddler抓包 Charles 下载、安…

您的网站未备案自己做抽奖网站违法吗

Eclipse 1.在程序代码中实现 需要注意的是: this.requestWindowFeature(Window.FEATURE_NO_TITLE); 这段代码一定要放在setContentView();方法前面,否则不会生效! 这个方法只会在引用过的布局才会生效,比如这个activity_main引用了,就不会…