:
1) Freeware
2) (cardware, mailware, donationware)
3) , (adware)
4)
5) (Demoware Trialware, Nagware)
6) - (Shareware)
29. .
5.3
, :
1) ,
2)
3) ,
6.3.1
, - .
.
:
:\ Hello
Main (int arg c, char * argv[])
{
Sub(argv[1]);
}
Void sub(const char * input) {
Char buf[10];
|
: :\tast Hello-aaaaaaaa0066ACB1
:
1)
2)
3)
4) ANSI.
:
1) , ,
2) : NULL ; NULL; ,
30. SQL-.
6.3.2 sql
sql , sql .
:
String sql=select * from client where name= +name+
String sql=select * from client where name=Blake
Blake or 1=1 --
String sql=select * from client where name=Blake or 1=1 --
Blake drop table client --
String sql=select * from client where name=Blake drop table client --
., .
.
.
Blake
String sql=select * from client where name=+name+ or age=+age;
name=Blake or 1=1-- or age=35;
35 shutdown ( age)
Char(0x27)
2:
String sql=exec spGetName +name+
|
|
Blake or 1= --
Exec spGetName Blako or 1=1 ( )
Blake drop table client ()
:
Create procedure spMyProc @ input varchar(128)
as exec(@input)
:
1) , - ( xp_cmdshell); , , , ;
2) sql :
select count (*) from client
where name=? and pwd=?
3) : : , ; ; sql ; , .