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

网站 备案查询网站风格分析怎么写

网站 备案查询,网站风格分析怎么写,中国建筑劳务分包网,wordpress个人淘宝目录 1.什么是二次注入? 2.二次注入过程 2.1寻找注入点 2.2注册admin#用户 2.3修改密码 1.什么是二次注入? 当用户提交的恶意数据被存入数据库后,因为被过滤函数过滤掉了,所以无法生效,但应用程序在从数据库中拿…

目录

1.什么是二次注入?

2.二次注入过程

2.1寻找注入点 

2.2注册admin'#用户

2.3修改密码


1.什么是二次注入?

当用户提交的恶意数据被存入数据库后,因为被过滤函数过滤掉了,所以无法生效,但应用程序在从数据库中拿出该用户名时没有对'和#进行转义,导致将密码的检测注释了,虽然看似后端代码将我们输入的'进行了转义,但是当将输入的数据存储到数据库中时,会将'加上存储的(数据库存储数据的特征),这样就实现了二次注入,也叫做存储型SQL注入。

2.二次注入过程

登录页面

注册页面 

 修改密码页面

2.1寻找注入点 

进行一些简单的测试,发现都无法成功 

查看后端代码发现,后端代码对我们输入的登录用户名和密码进行了过滤,因此无法注入

function sqllogin(){$username = mysql_real_escape_string($_POST["login_user"]);  //过滤了单双引号$password = mysql_real_escape_string($_POST["login_password"]);//过滤了单双引号$sql = "SELECT * FROM users WHERE username='$username' and password='$password'";
//$sql = "SELECT COUNT(*) FROM users WHERE username='$username' and password='$password'";$res = mysql_query($sql) or die('You tried to be real smart, Try harder!!!! :( ');$row = mysql_fetch_row($res);//print_r($row) ;if ($row[1]) {return $row[1];} else {return 0;}}

但是发现pass_change.php文件中,修改密码时,当从数据库中找出所修改的用户的密码时,没有对username进行过滤,导致出现二次注入点。

if (isset($_POST['submit']))
{# Validating the user input........$username= $_SESSION["username"];$curr_pass= mysql_real_escape_string($_POST['current_password']);$pass= mysql_real_escape_string($_POST['password']);$re_pass= mysql_real_escape_string($_POST['re_password']);if($pass==$re_pass){	$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";$res = mysql_query($sql) or die('You tried to be smart, Try harder!!!! :( ');$row = mysql_affected_rows();echo '<font size="3" color="#FFFF00">';echo '<center>';

我们是否可以先注册一个类似admin'#的用户,然后当对admin‘#用户进行修改密码时来进行注入呢?话不多说,直接开干

2.2注册admin'#用户

发现可以注册,与我们设想的一样

然后进行登录

顺利登录,此时页面显示YOU ARE LOGGED IN AS admin'#

2.3修改密码

根据pass_change.php文件的代码分析,current password可以随便填写,只要New Password等于Retype Password,程序就会进入if语句中,sql语句就会生效

if (isset($_POST['submit']))
{# Validating the user input........$username= $_SESSION["username"];$curr_pass= mysql_real_escape_string($_POST['current_password']);$pass= mysql_real_escape_string($_POST['password']);$re_pass= mysql_real_escape_string($_POST['re_password']);if($pass==$re_pass){	$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' ";$res = mysql_query($sql) or die('You tried to be smart, Try harder!!!! :( ');$row = mysql_affected_rows();echo '<font size="3" color="#FFFF00">';echo '<center>';

此时我们将修改的密码进行提交后,admin'#进入sql语句中,上述sql语句就会变为 

$sql = "UPDATE users SET PASSWORD='$pass' where username='$admin'#' and password='$curr_pass' ";

标红的地方就会被注释掉,就会成功修改admin的密码

此时我们使用admin用户进行登录,测试admin的密码是否被修改

可以见到,我们确实用admin用户成功登录,在这之前我们是不知道admin用户的密码的

这就是sql二次注入,可以利用它来修改任意用户的密码,所以危害是比较大的

http://www.yayakq.cn/news/896269/

相关文章:

  • 手工网站和自助建站式网站却别wordpress 响应式主题
  • 分类信息网站开发报价邮箱qq登录网页登陆入口
  • 石家庄晋州网站建设学程序员大概要多少钱
  • 扒完网站代码之后怎么做模板二手交易网站怎么做
  • 专业建站源码无锡响应式网站建设
  • 中海外城市建设有限公司网站帝国cms门户网站模板
  • 找人做微信网站服装公司网站
  • 大型网站只做要多少钱亚马逊做国际外贸在哪个网站
  • 保洁公司网站源码杭州本地网站有哪些
  • 网站建设深圳哪里学wordpress中文免费模板
  • 网络营销导向网站建设的基础宁波网站制作哪家全面
  • 网站换模板网站维护一般做什么
  • 泉州网站建站推广wordpress顶部图片轮播
  • 爱南宁健康码app下载百度seo关键词优化费用
  • 中国建设行业网站新密做网站优化
  • 如何制作网站的步骤郑州住房和城乡建设部网站
  • 做一个交易网站要花多少钱wordpress3.0手机版
  • 高端网站建设公司有必要做吗学做网站论坛第六节
  • 建设工程教育网视频网站成都广告传媒公司前十名
  • 学院网站设计说明书陈木胜导演
  • 八戒影视竞价网站做seo
  • 惠安网站建设费用爱情树表白网页在线制作
  • 太原网站推广优化软件开发外包工作室
  • 网站建设链接跨境电商多平台运营
  • 网站seo优化主要有哪些手段深圳市万齐创想科技有限公司
  • 手机建网站免费域名空间wordpress h5页面制作
  • seo擦边球网站网站底部代码下载
  • 站点推广策略包括注册公司流程和费用图
  • 百度推广和哪些网站有合作网站文章百度不收录
  • 保定做网站那家好手机上免费制作ppt的软件